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
(2) |
2
|
|
3
(9) |
4
(9) |
5
(16) |
6
(13) |
7
(12) |
8
(11) |
9
(6) |
|
10
|
11
(23) |
12
(31) |
13
(20) |
14
(7) |
15
|
16
(9) |
|
17
(2) |
18
(1) |
19
(12) |
20
(9) |
21
(8) |
22
(14) |
23
(2) |
|
24
(9) |
25
(11) |
26
(17) |
27
(14) |
28
(38) |
29
(25) |
30
(15) |
|
31
(8) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2011-07-11 22:16:49
|
Author: sewardj
Date: 2011-07-11 23:11:58 +0100 (Mon, 11 Jul 2011)
New Revision: 11875
Log:
The pthread.h on Android has no definition for pthread_rwlock_t, which
makes the associated intercepts in Helgrind and DRD un-compilable.
Add a configure test for it, and use them to guard the aforementioned
intercepts.
Modified:
trunk/configure.in
trunk/drd/drd_pthread_intercepts.c
trunk/helgrind/hg_intercepts.c
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2011-07-11 22:10:14 UTC (rev 11874)
+++ trunk/configure.in 2011-07-11 22:11:58 UTC (rev 11875)
@@ -846,6 +846,26 @@
])
+# Check for PTHREAD_RWLOCK_T
+
+AC_MSG_CHECKING([for pthread_rwlock_t])
+
+AC_TRY_COMPILE(
+[
+#define _GNU_SOURCE
+#include <pthread.h>
+], [
+ pthread_rwlock_t rwl;
+],
+[
+AC_MSG_RESULT([yes])
+AC_DEFINE([HAVE_PTHREAD_RWLOCK_T], 1,
+ [Define to 1 if you have the `pthread_rwlock_t' type.])
+], [
+AC_MSG_RESULT([no])
+])
+
+
# Check for PTHREAD_MUTEX_ADAPTIVE_NP
AC_MSG_CHECKING([for PTHREAD_MUTEX_ADAPTIVE_NP])
Modified: trunk/drd/drd_pthread_intercepts.c
===================================================================
--- trunk/drd/drd_pthread_intercepts.c 2011-07-11 22:10:14 UTC (rev 11874)
+++ trunk/drd/drd_pthread_intercepts.c 2011-07-11 22:11:58 UTC (rev 11875)
@@ -999,6 +999,10 @@
PTH_FUNCS(int, semZupost, sem_post_intercept, (sem_t *sem), (sem));
+/* Android's pthread.h doesn't say anything about rwlocks, hence these
+ functions have to be conditionally compiled. */
+#if defined(HAVE_PTHREAD_RWLOCK_T)
+
static __always_inline
int pthread_rwlock_init_intercept(pthread_rwlock_t* rwlock,
const pthread_rwlockattr_t* attr)
@@ -1158,3 +1162,5 @@
PTH_FUNCS(int,
pthreadZurwlockZuunlock, pthread_rwlock_unlock_intercept,
(pthread_rwlock_t* rwlock), (rwlock));
+
+#endif /* defined(HAVE_PTHREAD_RWLOCK_T) */
Modified: trunk/helgrind/hg_intercepts.c
===================================================================
--- trunk/helgrind/hg_intercepts.c 2011-07-11 22:10:14 UTC (rev 11874)
+++ trunk/helgrind/hg_intercepts.c 2011-07-11 22:11:58 UTC (rev 11875)
@@ -1274,6 +1274,10 @@
/*--- pthread_rwlock_t functions ---*/
/*----------------------------------------------------------------*/
+/* Android's pthread.h doesn't say anything about rwlocks, hence these
+ functions have to be conditionally compiled. */
+#if defined(HAVE_PTHREAD_RWLOCK_T)
+
/* Handled: pthread_rwlock_init pthread_rwlock_destroy
pthread_rwlock_rdlock
pthread_rwlock_wrlock
@@ -1618,7 +1622,9 @@
# error "Unsupported OS"
#endif
+#endif /* defined(HAVE_PTHREAD_RWLOCK_T) */
+
/*----------------------------------------------------------------*/
/*--- POSIX semaphores ---*/
/*----------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2011-07-11 22:15:04
|
Author: sewardj Date: 2011-07-11 23:10:14 +0100 (Mon, 11 Jul 2011) New Revision: 11874 Log: Pass platform-variant tags (-DVGPV_blah_blah_blah) to regtest compiles. Also, fix some $(NAME) stuff which looks like it should have been @NAME@ all along. Modified: trunk/Makefile.tool-tests.am Modified: trunk/Makefile.tool-tests.am =================================================================== --- trunk/Makefile.tool-tests.am 2011-07-11 20:52:10 UTC (rev 11873) +++ trunk/Makefile.tool-tests.am 2011-07-11 22:10:14 UTC (rev 11874) @@ -5,9 +5,10 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \ -I$(top_srcdir)/coregrind -I$(top_builddir)/include \ -I$(top_srcdir)/VEX/pub \ - -DVGA_$(VGCONF_ARCH_PRI)=1 \ - -DVGO_$(VGCONF_OS)=1 \ - -DVGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS)=1 + -DVGA_@VGCONF_ARCH_PRI@=1 \ + -DVGO_@VGCONF_OS@=1 \ + -DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \ + -DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 # Nb: Tools need to augment these flags with an arch-selection option, such # as $(AM_FLAG_M3264_PRI). AM_CFLAGS = -Winline -Wall -Wshadow -g |
|
From: Christian B. <bor...@de...> - 2011-07-11 21:36:56
|
Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-07-11 22:10:01 CEST Ended at 2011-07-11 22:32:15 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 487 tests, 12 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 486 tests, 12 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jul 11 22:21:26 2011 --- new.short Mon Jul 11 22:32:15 2011 *************** *** 8,10 **** ! == 486 tests, 12 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/locked_vs_unlocked1_fwd (stderr) --- 8,10 ---- ! == 487 tests, 12 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/locked_vs_unlocked1_fwd (stderr) |
|
From: <sv...@va...> - 2011-07-11 20:57:00
|
Author: sewardj Date: 2011-07-11 21:52:10 +0100 (Mon, 11 Jul 2011) New Revision: 11873 Log: Add a suppression file for Android's libc (bionic). Added: trunk/bionic.supp Modified: trunk/Makefile.am Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2011-07-11 20:42:34 UTC (rev 11872) +++ trunk/Makefile.am 2011-07-11 20:52:10 UTC (rev 11873) @@ -52,7 +52,8 @@ glibc-2.X-drd.supp \ exp-sgcheck.supp \ darwin9.supp darwin9-drd.supp \ - darwin10.supp darwin10-drd.supp + darwin10.supp darwin10-drd.supp \ + bionic.supp DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ # We include all the base .supp files in the distribution, but not Added: trunk/bionic.supp =================================================================== --- trunk/bionic.supp (rev 0) +++ trunk/bionic.supp 2011-07-11 20:52:10 UTC (rev 11873) @@ -0,0 +1,4 @@ +# Suppressions for Android's libc (bionic) and probably other +# stuff too. + +# This is currently empty. |
|
From: <sv...@va...> - 2011-07-11 20:47:24
|
Author: sewardj
Date: 2011-07-11 21:42:34 +0100 (Mon, 11 Jul 2011)
New Revision: 11872
Log:
Introduce the concept of platform variants. These allow further
qualification of the normal (arch, os) pairings used to factorise the
code base via the VGP_ defines. With this change, a new define
VGPV_<arch>_<os>_<variant> is also passed to each compile. The
initial motivation is to allow clean factorisation of Android-specific
code, which is a minor variant of arm-linux, without having to
introduce a complete new platform. In all other cases the supplied
tag is simply "vanilla".
Also add configure.in stuff to recognise Android at configure time.
Modified:
trunk/Makefile.all.am
trunk/configure.in
Modified: trunk/Makefile.all.am
===================================================================
--- trunk/Makefile.all.am 2011-07-11 18:23:09 UTC (rev 11871)
+++ trunk/Makefile.all.am 2011-07-11 20:42:34 UTC (rev 11872)
@@ -122,7 +122,8 @@
-I$(top_srcdir)/VEX/pub \
-DVGA_@VGCONF_ARCH_PRI@=1 \
-DVGO_@VGCONF_OS@=1 \
- -DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
+ -DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
+ -DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
if VGCONF_HAVE_PLATFORM_SEC
AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
-I$(top_srcdir) \
@@ -130,7 +131,8 @@
-I$(top_srcdir)/VEX/pub \
-DVGA_@VGCONF_ARCH_SEC@=1 \
-DVGO_@VGCONF_OS@=1 \
- -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1
+ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
+ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
endif
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2011-07-11 18:23:09 UTC (rev 11871)
+++ trunk/configure.in 2011-07-11 20:42:34 UTC (rev 11872)
@@ -596,6 +596,15 @@
#----------------------------------------------------------------------------
+# Extra fine-tuning of installation directories
+#----------------------------------------------------------------------------
+AC_ARG_WITH(tmpdir,
+ [ --with-tmpdir=PATH Specify path for temporary files],
+ tmpdir="$withval",
+ tmpdir="/tmp")
+AC_DEFINE_UNQUOTED(VG_TMPDIR, "$tmpdir", [Temporary files directory])
+
+#----------------------------------------------------------------------------
# Libc and suppressions
#----------------------------------------------------------------------------
# This variable will collect the suppression files to be used.
@@ -623,6 +632,15 @@
],
GLIBC_VERSION="darwin")
+# not really a version check
+AC_EGREP_CPP([BIONIC_LIBC], [
+#if defined(__ANDROID__)
+ BIONIC_LIBC
+#endif
+],
+GLIBC_VERSION="bionic")
+
+
AC_MSG_CHECKING([the GLIBC_VERSION version])
case "${GLIBC_VERSION}" in
@@ -725,6 +743,11 @@
AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
# DEFAULT_SUPP set by kernel version check above.
;;
+ bionic)
+ AC_MSG_RESULT(Bionic)
+ AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic])
+ DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}"
+ ;;
*)
AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
@@ -748,6 +771,57 @@
#----------------------------------------------------------------------------
+# Platform variants?
+#----------------------------------------------------------------------------
+
+# Normally the PLAT = (ARCH, OS) characterisation of the platform is enough.
+# But there are times where we need a bit more control. The motivating
+# and currently only case is Android: this is almost identical to arm-linux,
+# but not quite. So this introduces the concept of platform variant tags,
+# which get passed in the compile as -DVGPV_<arch>_<os>_<variant> along
+# with the main -DVGP_<arch>_<os> definition.
+#
+# In almost all cases, the <variant> bit is "vanilla". But for Android
+# it is "android" instead.
+#
+# Consequently (eg), plain arm-linux would build with
+#
+# -DVGP_arm_linux -DVGPV_arm_linux_vanilla
+#
+# whilst an Android build would have
+#
+# -DVGP_arm_linux -DVGPV_arm_linux_android
+#
+# The setup of the platform variant is pushed relatively far down this
+# file in order that we can inspect any of the variables set above.
+
+# In the normal case ..
+VGCONF_PLATVARIANT="vanilla"
+
+# Android on ARM ?
+if test "$VGCONF_ARCH_PRI-$VGCONF_OS" = "arm-linux" \
+ -a "$GLIBC_VERSION" = "bionic";
+then
+ VGCONF_PLATVARIANT="android"
+fi
+
+AC_SUBST(VGCONF_PLATVARIANT)
+
+
+# FIXME: do we also want to define automake variables
+# VGCONF_PLATVARIANT_IS_<WHATEVER>, where WHATEVER is (currently)
+# VANILLA or ANDROID ? This would be in the style of VGCONF_ARCHS_INCLUDE,
+# VGCONF_PLATFORMS_INCLUDE and VGCONF_OS_IS above? Could easily enough
+# do that. Problem is that we can't do and-ing in Makefile.am's, but
+# that's what we'd need to do to use this, since what we'd want to write
+# is something like
+#
+# VGCONF_PLATFORMS_INCLUDE_ARM_LINUX && VGCONF_PLATVARIANT_IS_ANDROID
+#
+# Oh well, something to figure out properly later on.
+
+
+#----------------------------------------------------------------------------
# Checking for various library functions and other definitions
#----------------------------------------------------------------------------
@@ -1909,6 +1983,8 @@
Build OS: ${VGCONF_OS}
Primary build target: ${VGCONF_PLATFORM_PRI_CAPS}
Secondary build target: ${VGCONF_PLATFORM_SEC_CAPS}
+ Platform variant: ${VGCONF_PLATVARIANT}
+ Primary -DVGPV string: -DVGPV_${VGCONF_ARCH_PRI}_${VGCONF_OS}_${VGCONF_PLATVARIANT}=1
Default supp files: ${DEFAULT_SUPP}
EOF
|
|
From: Christian B. <bor...@de...> - 2011-07-11 20:32:39
|
Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2011-07-11 22:10:01 CEST Ended at 2011-07-11 22:30:26 CEST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 486 tests, 13 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/mcinfcallWSRU (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlpasssigalrm (stderrB) none/tests/faultstatus (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 485 tests, 13 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/mcinfcallWSRU (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mssnapshot (stderrB) gdbserver_tests/nlpasssigalrm (stderrB) none/tests/faultstatus (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jul 11 22:20:45 2011 --- new.short Mon Jul 11 22:30:26 2011 *************** *** 8,10 **** ! == 485 tests, 13 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) --- 8,10 ---- ! == 486 tests, 13 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) |
|
From: <sv...@va...> - 2011-07-11 18:28:00
|
Author: sewardj
Date: 2011-07-11 19:23:09 +0100 (Mon, 11 Jul 2011)
New Revision: 11871
Log:
Handle sigaction, sigsuspend, sigprocmask on arm-linux; comment-only
changes for x86-linux and ppc32-linux. Derived from patch in bug
266035 comment 10 (Jeff Brown, jef...@go...).
Modified:
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2011-07-11 18:23:09 UTC (rev 11871)
@@ -341,6 +341,7 @@
DECL_TEMPLATE(arm_linux, sys_clone);
DECL_TEMPLATE(arm_linux, sys_sigreturn);
DECL_TEMPLATE(arm_linux, sys_rt_sigreturn);
+DECL_TEMPLATE(arm_linux, sys_sigsuspend);
DECL_TEMPLATE(arm_linux, sys_set_tls);
DECL_TEMPLATE(arm_linux, sys_cacheflush);
DECL_TEMPLATE(arm_linux, sys_ptrace);
@@ -1188,6 +1189,26 @@
*flags |= SfPollAfter;
}
+/* NB: clone of x86-linux version, and ppc32-linux has an almost
+ identical one. */
+PRE(sys_sigsuspend)
+{
+ /* The C library interface to sigsuspend just takes a pointer to
+ a signal mask but this system call has three arguments - the first
+ two don't appear to be used by the kernel and are always passed as
+ zero by glibc and the third is the first word of the signal mask
+ so only 32 signals are supported.
+
+ In fact glibc normally uses rt_sigsuspend if it is available as
+ that takes a pointer to the signal mask so supports more signals.
+ */
+ *flags |= SfMayBlock;
+ PRINT("sys_sigsuspend ( %ld, %ld, %ld )", ARG1,ARG2,ARG3 );
+ PRE_REG_READ3(int, "sigsuspend",
+ int, history0, int, history1,
+ vki_old_sigset_t, mask);
+}
+
/* Very much ARM specific */
PRE(sys_set_tls)
@@ -1431,13 +1452,13 @@
GENX_(__NR_getpgrp, sys_getpgrp), // 65
GENX_(__NR_setsid, sys_setsid), // 66
-// _____(__NR_sigaction, sys_sigaction), // 67
+ LINXY(__NR_sigaction, sys_sigaction), // 67
//zz // (__NR_sgetmask, sys_sgetmask), // 68 */* (ANSI C)
//zz // (__NR_ssetmask, sys_ssetmask), // 69 */* (ANSI C)
//zz
LINX_(__NR_setreuid, sys_setreuid16), // 70
LINX_(__NR_setregid, sys_setregid16), // 71
-// _____(__NR_sigsuspend, sys_sigsuspend), // 72
+ PLAX_(__NR_sigsuspend, sys_sigsuspend), // 72
LINXY(__NR_sigpending, sys_sigpending), // 73
//zz // (__NR_sethostname, sys_sethostname), // 74 */*
//zz
@@ -1502,7 +1523,7 @@
//zz LINXY(__NR_adjtimex, sys_adjtimex), // 124
//zz
GENXY(__NR_mprotect, sys_mprotect), // 125
- // LINXY(__NR_sigprocmask, sys_sigprocmask), // 126
+ LINXY(__NR_sigprocmask, sys_sigprocmask), // 126
//zz // Nb: create_module() was removed 2.4-->2.6
// GENX_(__NR_create_module, sys_ni_syscall), // 127
LINX_(__NR_init_module, sys_init_module), // 128
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2011-07-11 18:23:09 UTC (rev 11871)
@@ -2739,7 +2739,7 @@
// This wrapper is only suitable for 32-bit architectures.
// (XXX: so how is it that PRE(sys_sigpending) above doesn't need
// conditional compilation like this?)
-#if defined(VGP_x86_linux) || defined(VGP_ppc32_linux)
+#if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) || defined(VGP_arm_linux)
PRE(sys_sigprocmask)
{
vki_old_sigset_t* set;
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2011-07-11 18:23:09 UTC (rev 11871)
@@ -1391,6 +1391,8 @@
//.. }
//.. }
+/* NB: This is an almost identical clone of versions for x86-linux and
+ arm-linux, which are themselves literally identical. */
PRE(sys_sigsuspend)
{
/* The C library interface to sigsuspend just takes a pointer to
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2011-07-11 18:23:09 UTC (rev 11871)
@@ -1707,6 +1707,8 @@
# undef ARG2_5
}
+/* NB: arm-linux has a clone of this one, and ppc32-linux has an almost
+ identical version. */
PRE(sys_sigsuspend)
{
/* The C library interface to sigsuspend just takes a pointer to
|
|
From: <sv...@va...> - 2011-07-11 17:53:14
|
Author: sewardj
Date: 2011-07-11 18:48:24 +0100 (Mon, 11 Jul 2011)
New Revision: 11870
Log:
Remove identical copies of convert_sigset_to_rt, PRE(sys_sigaction)
and POST(sys_sigaction) in syswrap-x86-linux.c and
syswrap-ppc32-linux.c, and replace them with a single version in
syswrap-linux.c instead. Derived from patch in bug 266035 comment 10
(Jeff Brown, jef...@go...).
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-linux.h
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-linux.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2011-07-11 16:25:37 UTC (rev 11869)
+++ trunk/coregrind/m_syswrap/priv_syswrap-linux.h 2011-07-11 17:48:24 UTC (rev 11870)
@@ -240,6 +240,7 @@
// Darwin (and probably other OSes) don't have the old_sigset_t type.
DECL_TEMPLATE(linux, sys_sigpending);
DECL_TEMPLATE(linux, sys_sigprocmask);
+DECL_TEMPLATE(linux, sys_sigaction);
// I think these are Linux-specific?
DECL_TEMPLATE(linux, sys_rt_sigaction);
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2011-07-11 16:25:37 UTC (rev 11869)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
@@ -2783,6 +2783,68 @@
if (RES == 0 && ARG3 != 0)
POST_MEM_WRITE( ARG3, sizeof(vki_old_sigset_t));
}
+
+/* Convert from non-RT to RT sigset_t's */
+static
+void convert_sigset_to_rt(const vki_old_sigset_t *oldset, vki_sigset_t *set)
+{
+ VG_(sigemptyset)(set);
+ set->sig[0] = *oldset;
+}
+PRE(sys_sigaction)
+{
+ vki_sigaction_toK_t new, *newp;
+ vki_sigaction_fromK_t old, *oldp;
+
+ PRINT("sys_sigaction ( %ld, %#lx, %#lx )", ARG1,ARG2,ARG3);
+ PRE_REG_READ3(int, "sigaction",
+ int, signum, const struct old_sigaction *, act,
+ struct old_sigaction *, oldact);
+
+ newp = oldp = NULL;
+
+ if (ARG2 != 0) {
+ struct vki_old_sigaction *sa = (struct vki_old_sigaction *)ARG2;
+ PRE_MEM_READ( "sigaction(act->sa_handler)", (Addr)&sa->ksa_handler, sizeof(sa->ksa_handler));
+ PRE_MEM_READ( "sigaction(act->sa_mask)", (Addr)&sa->sa_mask, sizeof(sa->sa_mask));
+ PRE_MEM_READ( "sigaction(act->sa_flags)", (Addr)&sa->sa_flags, sizeof(sa->sa_flags));
+ if (ML_(safe_to_deref)(sa,sizeof(sa))
+ && (sa->sa_flags & VKI_SA_RESTORER))
+ PRE_MEM_READ( "sigaction(act->sa_restorer)", (Addr)&sa->sa_restorer, sizeof(sa->sa_restorer));
+ }
+
+ if (ARG3 != 0) {
+ PRE_MEM_WRITE( "sigaction(oldact)", ARG3, sizeof(struct vki_old_sigaction));
+ oldp = &old;
+ }
+
+ if (ARG2 != 0) {
+ struct vki_old_sigaction *oldnew = (struct vki_old_sigaction *)ARG2;
+
+ new.ksa_handler = oldnew->ksa_handler;
+ new.sa_flags = oldnew->sa_flags;
+ new.sa_restorer = oldnew->sa_restorer;
+ convert_sigset_to_rt(&oldnew->sa_mask, &new.sa_mask);
+ newp = &new;
+ }
+
+ SET_STATUS_from_SysRes( VG_(do_sys_sigaction)(ARG1, newp, oldp) );
+
+ if (ARG3 != 0 && SUCCESS && RES == 0) {
+ struct vki_old_sigaction *oldold = (struct vki_old_sigaction *)ARG3;
+
+ oldold->ksa_handler = oldp->ksa_handler;
+ oldold->sa_flags = oldp->sa_flags;
+ oldold->sa_restorer = oldp->sa_restorer;
+ oldold->sa_mask = oldp->sa_mask.sig[0];
+ }
+}
+POST(sys_sigaction)
+{
+ vg_assert(SUCCESS);
+ if (RES == 0 && ARG3 != 0)
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_old_sigaction));
+}
#endif
PRE(sys_signalfd)
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2011-07-11 16:25:37 UTC (rev 11869)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
@@ -419,7 +419,6 @@
DECL_TEMPLATE(ppc32_linux, sys_clone);
DECL_TEMPLATE(ppc32_linux, sys_sigreturn);
DECL_TEMPLATE(ppc32_linux, sys_rt_sigreturn);
-DECL_TEMPLATE(ppc32_linux, sys_sigaction);
DECL_TEMPLATE(ppc32_linux, sys_sigsuspend);
DECL_TEMPLATE(ppc32_linux, sys_spu_create);
DECL_TEMPLATE(ppc32_linux, sys_spu_run);
@@ -1392,74 +1391,6 @@
//.. }
//.. }
-
-/* Convert from non-RT to RT sigset_t's */
-static
-void convert_sigset_to_rt(const vki_old_sigset_t *oldset, vki_sigset_t *set)
-{
- VG_(sigemptyset)(set);
- set->sig[0] = *oldset;
-}
-PRE(sys_sigaction)
-{
- vki_sigaction_toK_t new, *newp;
- vki_sigaction_fromK_t old, *oldp;
-
- PRINT("sys_sigaction ( %ld, %#lx, %#lx )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(int, "sigaction",
- int, signum, const struct old_sigaction *, act,
- struct old_sigaction *, oldact);
-
- newp = oldp = NULL;
-
- if (ARG2 != 0) {
- struct vki_old_sigaction *sa = (struct vki_old_sigaction *)ARG2;
- PRE_MEM_READ( "sigaction(act->sa_handler)", (Addr)&sa->ksa_handler, sizeof(sa->ksa_handler));
- PRE_MEM_READ( "sigaction(act->sa_mask)", (Addr)&sa->sa_mask, sizeof(sa->sa_mask));
- PRE_MEM_READ( "sigaction(act->sa_flags)", (Addr)&sa->sa_flags, sizeof(sa->sa_flags));
- if (ML_(safe_to_deref)(sa,sizeof(sa))
- && (sa->sa_flags & VKI_SA_RESTORER))
- PRE_MEM_READ( "sigaction(act->sa_restorer)", (Addr)&sa->sa_restorer, sizeof(sa->sa_restorer));
- }
-
- if (ARG3 != 0) {
- PRE_MEM_WRITE( "sigaction(oldact)", ARG3, sizeof(struct vki_old_sigaction));
- oldp = &old;
- }
-
- //jrs 20050207: what?! how can this make any sense?
- //if (VG_(is_kerror)(SYSRES))
- // return;
-
- if (ARG2 != 0) {
- struct vki_old_sigaction *oldnew = (struct vki_old_sigaction *)ARG2;
-
- new.ksa_handler = oldnew->ksa_handler;
- new.sa_flags = oldnew->sa_flags;
- new.sa_restorer = oldnew->sa_restorer;
- convert_sigset_to_rt(&oldnew->sa_mask, &new.sa_mask);
- newp = &new;
- }
-
- SET_STATUS_from_SysRes( VG_(do_sys_sigaction)(ARG1, newp, oldp) );
-
- if (ARG3 != 0 && SUCCESS && RES == 0) {
- struct vki_old_sigaction *oldold = (struct vki_old_sigaction *)ARG3;
-
- oldold->ksa_handler = oldp->ksa_handler;
- oldold->sa_flags = oldp->sa_flags;
- oldold->sa_restorer = oldp->sa_restorer;
- oldold->sa_mask = oldp->sa_mask.sig[0];
- }
-}
-
-POST(sys_sigaction)
-{
- vg_assert(SUCCESS);
- if (RES == 0 && ARG3 != 0)
- POST_MEM_WRITE( ARG3, sizeof(struct vki_old_sigaction));
-}
-
PRE(sys_sigsuspend)
{
/* The C library interface to sigsuspend just takes a pointer to
@@ -1596,7 +1527,7 @@
GENX_(__NR_getpgrp, sys_getpgrp), // 65
GENX_(__NR_setsid, sys_setsid), // 66
- PLAXY(__NR_sigaction, sys_sigaction), // 67
+ LINXY(__NR_sigaction, sys_sigaction), // 67
//.. // (__NR_sgetmask, sys_sgetmask), // 68 */* (ANSI C)
//.. // (__NR_ssetmask, sys_ssetmask), // 69 */* (ANSI C)
//..
Modified: trunk/coregrind/m_syswrap/syswrap-x86-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2011-07-11 16:25:37 UTC (rev 11869)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2011-07-11 17:48:24 UTC (rev 11870)
@@ -804,7 +804,6 @@
DECL_TEMPLATE(x86_linux, sys_set_thread_area);
DECL_TEMPLATE(x86_linux, sys_get_thread_area);
DECL_TEMPLATE(x86_linux, sys_ptrace);
-DECL_TEMPLATE(x86_linux, sys_sigaction);
DECL_TEMPLATE(x86_linux, sys_sigsuspend);
DECL_TEMPLATE(x86_linux, old_select);
DECL_TEMPLATE(x86_linux, sys_vm86old);
@@ -1708,71 +1707,6 @@
# undef ARG2_5
}
-/* Convert from non-RT to RT sigset_t's */
-static
-void convert_sigset_to_rt(const vki_old_sigset_t *oldset, vki_sigset_t *set)
-{
- VG_(sigemptyset)(set);
- set->sig[0] = *oldset;
-}
-PRE(sys_sigaction)
-{
- vki_sigaction_toK_t new, *newp;
- vki_sigaction_fromK_t old, *oldp;
-
- PRINT("sys_sigaction ( %ld, %#lx, %#lx )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(int, "sigaction",
- int, signum, const struct old_sigaction *, act,
- struct old_sigaction *, oldact);
-
- newp = oldp = NULL;
-
- if (ARG2 != 0) {
- struct vki_old_sigaction *sa = (struct vki_old_sigaction *)ARG2;
- PRE_MEM_READ( "sigaction(act->sa_handler)", (Addr)&sa->ksa_handler, sizeof(sa->ksa_handler));
- PRE_MEM_READ( "sigaction(act->sa_mask)", (Addr)&sa->sa_mask, sizeof(sa->sa_mask));
- PRE_MEM_READ( "sigaction(act->sa_flags)", (Addr)&sa->sa_flags, sizeof(sa->sa_flags));
- if (ML_(safe_to_deref)(sa,sizeof(sa))
- && (sa->sa_flags & VKI_SA_RESTORER))
- PRE_MEM_READ( "sigaction(act->sa_restorer)", (Addr)&sa->sa_restorer, sizeof(sa->sa_restorer));
- }
-
- if (ARG3 != 0) {
- PRE_MEM_WRITE( "sigaction(oldact)", ARG3, sizeof(struct vki_old_sigaction));
- oldp = &old;
- }
-
- //jrs 20050207: what?! how can this make any sense?
- //if (VG_(is_kerror)(SYSRES))
- // return;
-
- if (ARG2 != 0) {
- struct vki_old_sigaction *oldnew = (struct vki_old_sigaction *)ARG2;
- new.ksa_handler = oldnew->ksa_handler;
- new.sa_flags = oldnew->sa_flags;
- new.sa_restorer = oldnew->sa_restorer;
- convert_sigset_to_rt(&oldnew->sa_mask, &new.sa_mask);
- newp = &new;
- }
-
- SET_STATUS_from_SysRes( VG_(do_sys_sigaction)(ARG1, newp, oldp) );
-
- if (ARG3 != 0 && SUCCESS && RES == 0) {
- struct vki_old_sigaction *oldold = (struct vki_old_sigaction *)ARG3;
- oldold->ksa_handler = oldp->ksa_handler;
- oldold->sa_flags = oldp->sa_flags;
- oldold->sa_restorer = oldp->sa_restorer;
- oldold->sa_mask = oldp->sa_mask.sig[0];
- }
-}
-
-POST(sys_sigaction)
-{
- vg_assert(SUCCESS);
- if (RES == 0 && ARG3 != 0)
- POST_MEM_WRITE( ARG3, sizeof(struct vki_old_sigaction));
-}
-
PRE(sys_sigsuspend)
{
/* The C library interface to sigsuspend just takes a pointer to
@@ -1954,7 +1888,7 @@
GENX_(__NR_getpgrp, sys_getpgrp), // 65
GENX_(__NR_setsid, sys_setsid), // 66
- PLAXY(__NR_sigaction, sys_sigaction), // 67
+ LINXY(__NR_sigaction, sys_sigaction), // 67
//zz // (__NR_sgetmask, sys_sgetmask), // 68 */* (ANSI C)
//zz // (__NR_ssetmask, sys_ssetmask), // 69 */* (ANSI C)
//zz
|
|
From: <sv...@va...> - 2011-07-11 16:30:26
|
Author: bart
Date: 2011-07-11 17:25:37 +0100 (Mon, 11 Jul 2011)
New Revision: 11869
Log:
drd/tests/matinv: Add missing return statement in an error path.
Modified:
trunk/drd/tests/matinv.c
Modified: trunk/drd/tests/matinv.c
===================================================================
--- trunk/drd/tests/matinv.c 2011-07-11 16:07:01 UTC (rev 11868)
+++ trunk/drd/tests/matinv.c 2011-07-11 16:25:37 UTC (rev 11869)
@@ -335,6 +335,7 @@
if (optind + 1 != argc)
{
fprintf(stderr, "Error: wrong number of arguments.\n");
+ return 1;
}
matrix_size = atoi(argv[optind]);
|
|
From: <sv...@va...> - 2011-07-11 16:11:50
|
Author: sewardj
Date: 2011-07-11 17:07:01 +0100 (Mon, 11 Jul 2011)
New Revision: 11868
Log:
Remove a commented-out copy of the sys_sigaction wrappers
that also are duplicated for x86-linux and ppc32-linux.
(No functional change.)
Modified:
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2011-07-11 14:46:44 UTC (rev 11867)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2011-07-11 16:07:01 UTC (rev 11868)
@@ -448,7 +448,6 @@
DECL_TEMPLATE(ppc64_linux, sys_clone);
//zz DECL_TEMPLATE(ppc64_linux, sys_sigreturn);
DECL_TEMPLATE(ppc64_linux, sys_rt_sigreturn);
-//zz DECL_TEMPLATE(ppc64_linux, sys_sigaction);
DECL_TEMPLATE(ppc64_linux, sys_fadvise64);
PRE(sys_socketcall)
@@ -1077,73 +1076,6 @@
*flags |= SfPollAfter;
}
-//zz /* Convert from non-RT to RT sigset_t's */
-//zz static
-//zz void convert_sigset_to_rt(const vki_old_sigset_t *oldset, vki_sigset_t *set)
-//zz {
-//zz VG_(sigemptyset)(set);
-//zz set->sig[0] = *oldset;
-//zz }
-//zz PRE(sys_sigaction)
-//zz {
-//zz struct vki_sigaction new, old;
-//zz struct vki_sigaction *newp, *oldp;
-//zz
-//zz PRINT("sys_sigaction ( %d, %p, %p )", ARG1,ARG2,ARG3);
-//zz PRE_REG_READ3(int, "sigaction",
-//zz int, signum, const struct old_sigaction *, act,
-//zz struct old_sigaction *, oldact);
-//zz
-//zz newp = oldp = NULL;
-//zz
-//zz if (ARG2 != 0) {
-//zz struct vki_old_sigaction *sa = (struct vki_old_sigaction *)ARG2;
-//zz PRE_MEM_READ( "sigaction(act->sa_handler)", (Addr)&sa->ksa_handler, sizeof(sa->ksa_handler));
-//zz PRE_MEM_READ( "sigaction(act->sa_mask)", (Addr)&sa->sa_mask, sizeof(sa->sa_mask));
-//zz PRE_MEM_READ( "sigaction(act->sa_flags)", (Addr)&sa->sa_flags, sizeof(sa->sa_flags));
-//zz if (ML_(safe_to_deref)(sa,sizeof(sa))
-//zz && (sa->sa_flags & VKI_SA_RESTORER))
-//zz PRE_MEM_READ( "sigaction(act->sa_restorer)", (Addr)&sa->sa_restorer, sizeof(sa->sa_restorer));
-//zz }
-//zz
-//zz if (ARG3 != 0) {
-//zz PRE_MEM_WRITE( "sigaction(oldact)", ARG3, sizeof(struct vki_old_sigaction));
-//zz oldp = &old;
-//zz }
-//zz
-//zz //jrs 20050207: what?! how can this make any sense?
-//zz //if (VG_(is_kerror)(SYSRES))
-//zz // return;
-//zz
-//zz if (ARG2 != 0) {
-//zz struct vki_old_sigaction *oldnew = (struct vki_old_sigaction *)ARG2;
-//zz
-//zz new.ksa_handler = oldnew->ksa_handler;
-//zz new.sa_flags = oldnew->sa_flags;
-//zz new.sa_restorer = oldnew->sa_restorer;
-//zz convert_sigset_to_rt(&oldnew->sa_mask, &new.sa_mask);
-//zz newp = &new;
-//zz }
-//zz
-//zz SET_STATUS_from_SysRes( VG_(do_sys_sigaction)(ARG1, newp, oldp) );
-//zz
-//zz if (ARG3 != 0 && SUCCESS && RES == 0) {
-//zz struct vki_old_sigaction *oldold = (struct vki_old_sigaction *)ARG3;
-//zz
-//zz oldold->ksa_handler = oldp->ksa_handler;
-//zz oldold->sa_flags = oldp->sa_flags;
-//zz oldold->sa_restorer = oldp->sa_restorer;
-//zz oldold->sa_mask = oldp->sa_mask.sig[0];
-//zz }
-//zz }
-//zz
-//zz POST(sys_sigaction)
-//zz {
-//zz vg_assert(SUCCESS);
-//zz if (RES == 0 && ARG3 != 0)
-//zz POST_MEM_WRITE( ARG3, sizeof(struct vki_old_sigaction));
-//zz }
-
#undef PRE
#undef POST
|
|
From: <sv...@va...> - 2011-07-11 15:54:30
|
Author: sewardj
Date: 2011-07-11 16:49:39 +0100 (Mon, 11 Jul 2011)
New Revision: 2173
Log:
Tighten up an instruction decoding exception for
add.w reg, sp, #constT.
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
===================================================================
--- trunk/priv/guest_arm_toIR.c 2011-07-11 11:43:38 UTC (rev 2172)
+++ trunk/priv/guest_arm_toIR.c 2011-07-11 15:49:39 UTC (rev 2173)
@@ -16019,7 +16019,7 @@
UInt rD = INSN1(11,8);
Bool valid = !isBadRegT(rN) && !isBadRegT(rD);
/* but allow "add.w reg, sp, #constT" */
- if (!valid && rN == 13)
+ if (!valid && rN == 13 && rD != 15)
valid = True;
if (valid) {
IRTemp argL = newTemp(Ity_I32);
|
|
From: <sv...@va...> - 2011-07-11 14:51:34
|
Author: weidendo
Date: 2011-07-11 15:46:44 +0100 (Mon, 11 Jul 2011)
New Revision: 11867
Log:
Port callgrind_control to vgdb
Same functionality, apart from "-l" to show "long information".
This only printed the current working directory of the callgrind run,
which currently is not available any longer, but not really needed.
The port to vgdb has an important benefit:
callgrind can now be controlled by callgrind_control also when
the client program is blocked/sleeping in a system call. This was
not possible before as a command file was polled only while the
client was running.
Ubuntu by default restricts PTRACE (used by vgdb) to parent processes,
making Ubuntu show similar behavior as before: vgdb is not allowed
to attach by PTRACE when the client is blocked/sleeping, so
callgrind_control works similar to before this change on Ubuntu.
A final patch, which gets rid of command file polling, will be
submitted after Valgrind 3.7, as KCachegrind currently writes
command files directly, and needs to be changed to rely on
callgrind_control instead.
Modified:
trunk/callgrind/callgrind_control.in
Modified: trunk/callgrind/callgrind_control.in
===================================================================
--- trunk/callgrind/callgrind_control.in 2011-07-11 14:46:41 UTC (rev 11866)
+++ trunk/callgrind/callgrind_control.in 2011-07-11 14:46:44 UTC (rev 11867)
@@ -7,8 +7,7 @@
# This file is part of Callgrind, a cache-simulator and call graph
# tracer built on Valgrind.
#
-# Copyright (C) 2003,2004,2005 Josef Weidendorfer
-# Jos...@gm...
+# Copyright (C) 2003-2011 Josef Weidendorfer <Jos...@gm...>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
@@ -28,39 +27,18 @@
sub getCallgrindPids {
@pids = ();
- foreach $f (</tmp/callgrind.info.*>) {
- ($pid) = ($f =~ /info\.(\d+)/);
- if ($pid eq "") { next; }
- $mapfile = "/proc/$pid/maps";
- if (!-e $mapfile) { next; }
-
- open MAP, "<$mapfile";
- $found = 0;
- while(<MAP>) {
- # works both for VG 3.0 and VG 3.1+
- if (/callgrind/) { $found = 1; }
- }
- close MAP;
- if ($found == 0) { next; }
-
- $res = open INFO, "<$f";
- if (!$res) { next; }
- while(<INFO>) {
- if (/version: (\d+)/) { $mversion{$pid} = $1; }
- if (/cmd: (.+)$/) { $cmd{$pid} = $1; }
- if (/control: (.+)$/) { $control{$pid} = $1; }
- if (/base: (.+)$/) { $base{$pid} = $1; }
- if (/result: (.+)$/) { $result{$pid} = $1; }
- }
- close INFO;
-
- if ($mversion{$pid} > 1) {
- print " PID $pid: Unsupported command interface (version $mversion{$pid}) ?!\n\n";
- next;
- }
-
- push(@pids, $pid);
+ open LIST, "vgdb -l|";
+ while(<LIST>) {
+ if (/^use --pid=(\d+) for valgrind\s+(.*)$/) {
+ $pid = $1;
+ $cmd = $2;
+ if (!($cmd =~ /--tool=callgrind/)) { next; }
+ while($cmd =~ s/^-+\S+\s+//) {}
+ $cmd{$pid} = $cmd;
+ push(@pids, $pid);
+ }
}
+ close LIST;
}
sub printHeader {
@@ -68,7 +46,7 @@
$headerPrinted = 1;
print "Observe the status and control currently active callgrind runs.\n";
- print "(C) 2003-2005, Josef Weidendorfer (Josef.Weidendorfer\@gmx.de)\n\n";
+ print "(C) 2003-2011, Josef Weidendorfer (Josef.Weidendorfer\@gmx.de)\n\n";
}
sub printVersion {
@@ -88,24 +66,22 @@
print "If no pids/names are given, an action is applied to all currently\n";
print "active Callgrind runs. Default action is printing short information.\n\n";
print "Options:\n";
- print " -h --help Show this help text\n";
- print " --version Show version\n";
- print " -l --long Show more information\n";
- print " -s --stat Show statistics\n";
- print " -b --back Show stack/back trace\n";
- print " -e [<A>,...] Show event counters for <A>,... (default: all)\n";
- print " --dump[=<s>] Request a dump optionally using <s> as description\n";
- print " -z --zero Zero all event counters\n";
- print " -k --kill Kill\n";
- print " --instr=<on|off> Switch instrumentation state on/off\n";
- print " -w=<dir> Specify the startup directory of an active Callgrind run\n";
+ print " -h --help Show this help text\n";
+ print " --version Show version\n";
+ print " -s --stat Show statistics\n";
+ print " -b --back Show stack/back trace\n";
+ print " -e [<A>,...] Show event counters for <A>,... (default: all)\n";
+ print " --dump[=<s>] Request a dump optionally using <s> as description\n";
+ print " -z --zero Zero all event counters\n";
+ print " -k --kill Kill\n";
+ print " -i --instr=on|off Switch instrumentation state on/off\n";
print "\n";
exit;
}
#
-# Parts more or less copied from ct_annotate (author: Nicholas Nethercote)
+# Parts more or less copied from cg_annotate (author: Nicholas Nethercote)
#
sub prepareEvents {
@@ -213,15 +189,12 @@
$switchInstr = 0;
$headerPrinted = 0;
$dumpHint = "";
-$gotW = 0;
-$workingDir = "";
%spids = ();
foreach $arg (@ARGV) {
if ($arg =~ /^-/) {
if ($requestDump == 1) { $requestDump = 2; }
if ($requestEvents == 1) { $requestEvents = 2; }
- if ($gotW == 1) { $gotW = 2; }
if ($arg =~ /^(-h|--help)$/) {
printHelp;
@@ -229,10 +202,6 @@
elsif ($arg =~ /^--version$/) {
printVersion;
}
- elsif ($arg =~ /^(-l|--long)$/) {
- $printLong = 1;
- next;
- }
elsif ($arg =~ /^(-s|--stat)$/) {
$printStatus = 1;
next;
@@ -267,10 +236,10 @@
elsif ($arg =~ /^(-i|--instr)(|=on|=off)$/) {
$switchInstr = 2;
if ($2 eq "=on") {
- $switchInstrMode = "+";
+ $switchInstrMode = "on";
}
elsif ($2 eq "=off") {
- $switchInstrMode = "-";
+ $switchInstrMode = "off";
}
else {
# check next argument for "on" or "off"
@@ -278,17 +247,6 @@
}
next;
}
- elsif ($arg =~ /^-w(|=.*)$/) {
- if ($1 ne "") {
- $gotW = 2;
- $workingDir = substr($1,1);
- }
- else {
- # take next argument as working directory
- $gotW = 1;
- }
- next;
- }
else {
print "Error: unknown command line option '$arg'.\n";
shortHelp;
@@ -312,10 +270,10 @@
if ($switchInstr == 1) {
$switchInstr = 2;
if ($arg eq "on") {
- $switchInstrMode = "+";
+ $switchInstrMode = "on";
}
elsif ($arg eq "off") {
- $switchInstrMode = "-";
+ $switchInstrMode = "off";
}
else {
print "Error: need to specify 'on' or 'off' after '-i'.\n";
@@ -325,12 +283,6 @@
}
}
- if ($gotW == 1) {
- $gotW = 2;
- $workingDir = $arg;
- next;
- }
-
if (defined $cmd{$arg}) { $spids{$arg} = 1; next; }
$nameFound = 0;
foreach $p (@pids) {
@@ -345,56 +297,31 @@
shortHelp;
}
-if ($gotW == 1) {
- print "Error: no directory specified after '-w'.\n";
- shortHelp;
-}
if ($switchInstr == 1) {
print "Error: need to specify 'on' or 'off' after '-i'.\n";
shortHelp;
}
-if ($workingDir ne "") {
- if (!-d $workingDir) {
- print "Error: directory '$workingDir' does not exist.\n";
- shortHelp;
- }
-
- # Generate dummy information for dummy pid 0
- $pid = "0";
- $mversion{$pid} = "1.0";
- $cmd{$pid} = "???";
- $base{$pid} = $workingDir;
- $control{$pid} = "$workingDir/callgrind.cmd";
- $result{$pid} = "$workingDir/callgrind.res";
-
- # Only handle this faked callgrind run
- @pids = ($pid);
-}
-
if (scalar @pids == 0) {
print "No active callgrind runs detected.\n";
- #print "Detection fails when /proc/*/maps is not readable.\n";
- print "[Detection can fail on some systems; to work around this,\n";
- print " specify the working directory of a callgrind run with '-w']\n";
exit;
}
@spids = keys %spids;
if (scalar @spids >0) { @pids = @spids; }
-$command = "";
+$vgdbCommand = "";
$waitForAnswer = 0;
if ($requestDump) {
- $command = "Dump";
- if ($dumpHint ne "") { $command .= " ".$dumpHint; }
+ $vgdbCommand = "dump";
+ if ($dumpHint ne "") { $vgdbCommand .= " ".$dumpHint; }
}
-if ($requestZero) { $command = "Zero"; }
-if ($requestKill) { $command = "Kill"; }
-if ($switchInstr) { $command = $switchInstrMode."Instrumentation"; }
+if ($requestZero) { $vgdbCommand = "zero"; }
+if ($requestKill) { $vgdbCommand = "v.kill"; }
+if ($switchInstr) { $vgdbCommand = "instrumentation ".$switchInstrMode; }
if ($printStatus || $printBacktrace || $requestEvents) {
- $command = "Status";
+ $vgdbCommand = "status";
$waitForAnswer = 1;
}
@@ -402,40 +329,13 @@
$pidstr = "PID $pid: ";
if ($pid >0) { print $pidstr.$cmd{$pid}; }
- if ($command eq "") {
- if ($printLong) {
- #print " " x length $pidstr;
- print " (in $base{$pid})\n";
- }
- else {
+ if ($vgdbCommand eq "") {
print "\n";
- }
- next;
- }
- else {
- if (! (open CONTROL, ">$control{$pid}")) {
- print " [sending '$command' failed: permission denied]\n";
next;
- }
- print " [requesting '$command'...]\n";
- print CONTROL $command;
- close CONTROL;
-
- while(-e $control{$pid}) {
- # sleep for 250 ms
- select(undef, undef, undef, 0.25);
- }
}
+ print " [requesting '$vgdbCommand']\n";
+ open RESULT, "vgdb --pid=$pid $vgdbCommand|";
- #print "Reading ".$result{$pid}. "...\n";
- if ($result{$pid} eq "") { $waitForAnswer=0; }
- if (!$waitForAnswer) { print " OK.\n"; next; }
-
- if (! (open RESULT, "<$result{$pid}")) {
- print " Warning: Can't open expected result file $result{$pid}.\n";
- next;
- }
-
@tids = ();
$ctid = 0;
%fcount = ();
@@ -488,7 +388,8 @@
elsif (/instrumentation: (\w+)$/) { $instrumentation = $1; }
}
- unlink $result{$pid};
+ #if ($? ne "0") { print " Got Error $?\n"; }
+ if (!$waitForAnswer) { print " OK.\n"; next; }
if ($instrumentation eq "off") {
print " No information available as instrumentation is switched off.\n\n";
|
|
From: <sv...@va...> - 2011-07-11 14:51:31
|
Author: weidendo
Date: 2011-07-11 15:46:41 +0100 (Mon, 11 Jul 2011)
New Revision: 11866
Log:
callgrind: add vgdb commands needed for porting callgrind_control
Modified:
trunk/callgrind/main.c
Modified: trunk/callgrind/main.c
===================================================================
--- trunk/callgrind/main.c 2011-07-11 11:46:52 UTC (rev 11865)
+++ trunk/callgrind/main.c 2011-07-11 14:46:41 UTC (rev 11866)
@@ -1355,6 +1355,91 @@
VG_(message)(Vg_DebugMsg, "%s: instrumentation switched %s\n",
reason, state ? "ON" : "OFF");
}
+
+/* helper for dump_state_togdb */
+static void dump_state_of_thread_togdb(thread_info* ti)
+{
+ static Char buf[512];
+ static FullCost sum = 0, tmp = 0;
+ Int t, p, i;
+ BBCC *from, *to;
+ call_entry* ce;
+
+ t = CLG_(current_tid);
+ CLG_(init_cost_lz)( CLG_(sets).full, &sum );
+ CLG_(copy_cost_lz)( CLG_(sets).full, &tmp, ti->lastdump_cost );
+ CLG_(add_diff_cost)( CLG_(sets).full, sum, ti->lastdump_cost,
+ ti->states.entry[0]->cost);
+ CLG_(copy_cost)( CLG_(sets).full, ti->lastdump_cost, tmp );
+ CLG_(sprint_mappingcost)(buf, CLG_(dumpmap), sum);
+ VG_(gdb_printf)("events-%d: %s\n", t, buf);
+ VG_(gdb_printf)("frames-%d: %d\n", t, CLG_(current_call_stack).sp);
+
+ ce = 0;
+ for(i = 0; i < CLG_(current_call_stack).sp; i++) {
+ ce = CLG_(get_call_entry)(i);
+ /* if this frame is skipped, we don't have counters */
+ if (!ce->jcc) continue;
+
+ from = ce->jcc->from;
+ VG_(gdb_printf)("function-%d-%d: %s\n",t, i, from->cxt->fn[0]->name);
+ VG_(gdb_printf)("calls-%d-%d: %llu\n",t, i, ce->jcc->call_counter);
+
+ /* FIXME: EventSets! */
+ CLG_(copy_cost)( CLG_(sets).full, sum, ce->jcc->cost );
+ CLG_(copy_cost)( CLG_(sets).full, tmp, ce->enter_cost );
+ CLG_(add_diff_cost)( CLG_(sets).full, sum,
+ ce->enter_cost, CLG_(current_state).cost );
+ CLG_(copy_cost)( CLG_(sets).full, ce->enter_cost, tmp );
+
+ p = VG_(sprintf)(buf, "events-%d-%d: ",t, i);
+ CLG_(sprint_mappingcost)(buf + p, CLG_(dumpmap), sum );
+ VG_(gdb_printf)("%s\n", buf);
+ }
+ if (ce && ce->jcc) {
+ to = ce->jcc->to;
+ VG_(gdb_printf)("function-%d-%d: %s\n",t, i, to->cxt->fn[0]->name );
+ }
+}
+
+/* Dump current state */
+static void dump_state_togdb(void)
+{
+ static Char buf[512];
+ thread_info** th;
+ int t, p;
+ Int orig_tid = CLG_(current_tid);
+
+ VG_(gdb_printf)("instrumentation: %s\n",
+ CLG_(instrument_state) ? "on":"off");
+ if (!CLG_(instrument_state)) return;
+
+ VG_(gdb_printf)("executed-bbs: %llu\n", CLG_(stat).bb_executions);
+ VG_(gdb_printf)("executed-calls: %llu\n", CLG_(stat).call_counter);
+ VG_(gdb_printf)("distinct-bbs: %d\n", CLG_(stat).distinct_bbs);
+ VG_(gdb_printf)("distinct-calls: %d\n", CLG_(stat).distinct_jccs);
+ VG_(gdb_printf)("distinct-functions: %d\n", CLG_(stat).distinct_fns);
+ VG_(gdb_printf)("distinct-contexts: %d\n", CLG_(stat).distinct_contexts);
+
+ /* "events:" line. Given here because it will be dynamic in the future */
+ p = VG_(sprintf)(buf, "events: ");
+ CLG_(sprint_eventmapping)(buf+p, CLG_(dumpmap));
+ VG_(gdb_printf)("%s\n", buf);
+ /* "part:" line (number of last part. Is 0 at start */
+ VG_(gdb_printf)("part: %d\n", CLG_(get_dump_counter)());
+
+ /* threads */
+ th = CLG_(get_threads)();
+ p = VG_(sprintf)(buf, "threads:");
+ for(t=1;t<VG_N_THREADS;t++) {
+ if (!th[t]) continue;
+ p += VG_(sprintf)(buf+p, " %d", t);
+ }
+ VG_(gdb_printf)("%s\n", buf);
+ VG_(gdb_printf)("current-tid: %d\n", orig_tid);
+ CLG_(forall_threads)(dump_state_of_thread_togdb);
+}
+
static void print_monitor_help ( void )
{
@@ -1364,6 +1449,10 @@
VG_(gdb_printf) (" dump counters\n");
VG_(gdb_printf) (" zero\n");
VG_(gdb_printf) (" zero counters\n");
+ VG_(gdb_printf) (" status\n");
+ VG_(gdb_printf) (" print status (statistics and shadow stacks)\n");
+ VG_(gdb_printf) (" instrumentation [on|off]\n");
+ VG_(gdb_printf) (" get/set (if on/off given) instrumentation state\n");
VG_(gdb_printf) ("\n");
}
@@ -1377,7 +1466,7 @@
VG_(strcpy) (s, req);
wcmd = VG_(strtok_r) (s, " ", &ssaveptr);
- switch (VG_(keyword_id) ("help dump zero",
+ switch (VG_(keyword_id) ("help dump zero status instrumentation",
wcmd, kwd_report_duplicated_matches)) {
case -2: /* multiple matches */
return True;
@@ -1394,6 +1483,20 @@
CLG_(zero_all_cost)(False);
return True;
}
+ case 3: { /* status */
+ dump_state_togdb();
+ return True;
+ }
+ case 4: { /* instrumentation */
+ Char* arg = VG_(strtok_r) (0, " ", &ssaveptr);
+ if (!arg) {
+ VG_(gdb_printf)("instrumentation: %s\n",
+ CLG_(instrument_state) ? "on":"off");
+ }
+ else
+ CLG_(set_instrument_state)("Command", VG_(strcmp)(arg,"off")!=0);
+ return True;
+ }
default:
tl_assert(0);
|
|
From: <sv...@va...> - 2011-07-11 11:51:42
|
Author: sewardj
Date: 2011-07-11 12:46:52 +0100 (Mon, 11 Jul 2011)
New Revision: 11865
Log:
Add / fix up test cases for {LD,ST}REX{,B,H,D} on ARM. Works for both
ARM and Thumb encodings.
Modified:
trunk/memcheck/tests/atomic_incs.c
Modified: trunk/memcheck/tests/atomic_incs.c
===================================================================
--- trunk/memcheck/tests/atomic_incs.c 2011-07-11 01:51:39 UTC (rev 11864)
+++ trunk/memcheck/tests/atomic_incs.c 2011-07-11 11:46:52 UTC (rev 11865)
@@ -5,6 +5,11 @@
atomicity of the relevant instructions in the generated code; but
the post-DCAS-merge versions of Valgrind do behave correctly. */
+/* On ARM, this can be compiled into either ARM or Thumb code, so as
+ to test both A and T encodings of LDREX/STREX et al. Also on ARM,
+ it tests doubleword atomics (LDREXD, STREXD) which I don't think it
+ does on any other platform. */
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -75,7 +80,22 @@
);
} while (success != 1);
#elif defined(VGA_arm)
- *p += n;
+ unsigned int block[3]
+ = { (unsigned int)p, (unsigned int)n, 0xFFFFFFFF };
+ do {
+ __asm__ __volatile__(
+ "mov r5, %0" "\n\t"
+ "ldr r9, [r5, #0]" "\n\t" // p
+ "ldr r10, [r5, #4]" "\n\t" // n
+ "ldrexb r8, [r9]" "\n\t"
+ "add r8, r8, r10" "\n\t"
+ "strexb r4, r8, [r9]" "\n\t"
+ "str r4, [r5, #8]" "\n\t"
+ : /*out*/
+ : /*in*/ "r"(&block[0])
+ : /*trash*/ "memory", "cc", "r5", "r8", "r9", "r10", "r4"
+ );
+ } while (block[2] != 0);
#elif defined(VGA_s390x)
int dummy;
__asm__ __volatile__(
@@ -153,7 +173,22 @@
);
} while (success != 1);
#elif defined(VGA_arm)
- *p += n;
+ unsigned int block[3]
+ = { (unsigned int)p, (unsigned int)n, 0xFFFFFFFF };
+ do {
+ __asm__ __volatile__(
+ "mov r5, %0" "\n\t"
+ "ldr r9, [r5, #0]" "\n\t" // p
+ "ldr r10, [r5, #4]" "\n\t" // n
+ "ldrexh r8, [r9]" "\n\t"
+ "add r8, r8, r10" "\n\t"
+ "strexh r4, r8, [r9]" "\n\t"
+ "str r4, [r5, #8]" "\n\t"
+ : /*out*/
+ : /*in*/ "r"(&block[0])
+ : /*trash*/ "memory", "cc", "r5", "r8", "r9", "r10", "r4"
+ );
+ } while (block[2] != 0);
#elif defined(VGA_s390x)
int dummy;
__asm__ __volatile__(
@@ -237,11 +272,11 @@
"ldr r10, [r5, #4]" "\n\t" // n
"ldrex r8, [r9]" "\n\t"
"add r8, r8, r10" "\n\t"
- "strex r11, r8, [r9]" "\n\t"
- "str r11, [r5, #8]" "\n\t"
+ "strex r4, r8, [r9]" "\n\t"
+ "str r4, [r5, #8]" "\n\t"
: /*out*/
: /*in*/ "r"(&block[0])
- : /*trash*/ "memory", "cc", "r5", "r8", "r9", "r10"
+ : /*trash*/ "memory", "cc", "r5", "r8", "r9", "r10", "r4"
);
} while (block[2] != 0);
#elif defined(VGA_s390x)
@@ -261,7 +296,7 @@
__attribute__((noinline)) void atomic_add_64bit ( long long int* p, int n )
{
-#if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_arm)
+#if defined(VGA_x86) || defined(VGA_ppc32)
/* do nothing; is not supported */
#elif defined(VGA_amd64)
// this is a bit subtle. It relies on the fact that, on a 64-bit platform,
@@ -290,6 +325,26 @@
: /*trash*/ "memory", "cc", "r15"
);
} while (success != 1);
+#elif defined(VGA_arm)
+ unsigned long long int block[3]
+ = { (unsigned long long int)(unsigned long)p,
+ (unsigned long long int)n,
+ 0xFFFFFFFFFFFFFFFFULL };
+ do {
+ __asm__ __volatile__(
+ "mov r5, %0" "\n\t"
+ "ldr r8, [r5, #0]" "\n\t" // p
+ "ldrd r2, r3, [r5, #8]" "\n\t" // n
+ "ldrexd r0, r1, [r8]" "\n\t"
+ "adds r2, r2, r0" "\n\t"
+ "adc r3, r3, r1" "\n\t"
+ "strexd r1, r2, r3, [r8]" "\n\t"
+ "str r1, [r5, #16]" "\n\t"
+ : /*out*/
+ : /*in*/ "r"(&block[0])
+ : /*trash*/ "memory", "cc", "r5", "r0", "r1", "r8", "r2", "r3"
+ );
+ } while (block[2] != 0xFFFFFFFF00000000ULL);
#elif defined(VGA_s390x)
__asm__ __volatile__(
" lg 0,%0\n\t"
|
|
From: <sv...@va...> - 2011-07-11 11:48:31
|
Author: sewardj
Date: 2011-07-11 12:43:38 +0100 (Mon, 11 Jul 2011)
New Revision: 2172
Log:
Complete the implementation of ARM atomic ops: {LD,ST}REX{,B,H,D} in
both ARM and Thumb encodings, for NEON and non-NEON capable backends.
Bug 266035 comments 4, 43, 51. Derived from patches by Jeff Brown
<jef...@go...>, Igor Saenko <igo...@gm...> and
Dr. David Alan Gilbert <dav...@li...>.
Modified:
trunk/priv/guest_arm_toIR.c
trunk/priv/host_arm_defs.c
trunk/priv/host_arm_defs.h
trunk/priv/host_arm_isel.c
trunk/priv/ir_defs.c
Modified: trunk/priv/guest_arm_toIR.c
===================================================================
--- trunk/priv/guest_arm_toIR.c 2011-07-11 01:48:02 UTC (rev 2171)
+++ trunk/priv/guest_arm_toIR.c 2011-07-11 11:43:38 UTC (rev 2172)
@@ -13370,52 +13370,107 @@
/* -- ARMv6 instructions -- */
/* ----------------------------------------------------------- */
- /* --------------------- ldrex, strex --------------------- */
+ /* ------------------- {ldr,str}ex{,b,h,d} ------------------- */
- // LDREX
- if (0x01900F9F == (insn & 0x0FF00FFF)) {
- UInt rT = INSN(15,12);
- UInt rN = INSN(19,16);
- if (rT == 15 || rN == 15) {
- /* undecodable; fall through */
+ // LDREXD, LDREX, LDREXH, LDREXB
+ if (0x01900F9F == (insn & 0x0F900FFF)) {
+ UInt rT = INSN(15,12);
+ UInt rN = INSN(19,16);
+ IRType ty = Ity_INVALID;
+ IROp widen = Iop_INVALID;
+ HChar* nm = NULL;
+ Bool valid = True;
+ switch (INSN(22,21)) {
+ case 0: nm = ""; ty = Ity_I32; break;
+ case 1: nm = "d"; ty = Ity_I64; break;
+ case 2: nm = "b"; ty = Ity_I8; widen = Iop_8Uto32; break;
+ case 3: nm = "h"; ty = Ity_I16; widen = Iop_16Uto32; break;
+ default: vassert(0);
+ }
+ if (ty == Ity_I32 || ty == Ity_I16 || ty == Ity_I8) {
+ if (rT == 15 || rN == 15)
+ valid = False;
} else {
+ vassert(ty == Ity_I64);
+ if ((rT & 1) == 1 || rT == 14 || rN == 15)
+ valid = False;
+ }
+ if (valid) {
IRTemp res;
/* make unconditional */
if (condT != IRTemp_INVALID) {
- mk_skip_over_A32_if_cond_is_false( condT );
- condT = IRTemp_INVALID;
+ mk_skip_over_A32_if_cond_is_false( condT );
+ condT = IRTemp_INVALID;
}
/* Ok, now we're unconditional. Do the load. */
- res = newTemp(Ity_I32);
+ res = newTemp(ty);
+ // FIXME: assumes little-endian guest
stmt( IRStmt_LLSC(Iend_LE, res, getIRegA(rN),
NULL/*this is a load*/) );
- putIRegA(rT, mkexpr(res), IRTemp_INVALID, Ijk_Boring);
- DIP("ldrex%s r%u, [r%u]\n", nCC(INSN_COND), rT, rN);
+ if (ty == Ity_I64) {
+ // FIXME: assumes little-endian guest
+ putIRegA(rT+0, unop(Iop_64to32, mkexpr(res)),
+ IRTemp_INVALID, Ijk_Boring);
+ putIRegA(rT+1, unop(Iop_64HIto32, mkexpr(res)),
+ IRTemp_INVALID, Ijk_Boring);
+ DIP("ldrex%s%s r%u, r%u, [r%u]\n",
+ nm, nCC(INSN_COND), rT+0, rT+1, rN);
+ } else {
+ putIRegA(rT, widen == Iop_INVALID
+ ? mkexpr(res) : unop(widen, mkexpr(res)),
+ IRTemp_INVALID, Ijk_Boring);
+ DIP("ldrex%s%s r%u, [r%u]\n", nm, nCC(INSN_COND), rT, rN);
+ }
goto decode_success;
}
- /* fall through */
+ /* undecodable; fall through */
}
- // STREX
- if (0x01800F90 == (insn & 0x0FF00FF0)) {
- UInt rT = INSN(3,0);
- UInt rN = INSN(19,16);
- UInt rD = INSN(15,12);
- if (rT == 15 || rN == 15 || rD == 15
- || rD == rT || rD == rN) {
- /* undecodable; fall through */
+ // STREXD, STREX, STREXH, STREXB
+ if (0x01800F90 == (insn & 0x0F900FF0)) {
+ UInt rT = INSN(3,0);
+ UInt rN = INSN(19,16);
+ UInt rD = INSN(15,12);
+ IRType ty = Ity_INVALID;
+ IROp narrow = Iop_INVALID;
+ HChar* nm = NULL;
+ Bool valid = True;
+ switch (INSN(22,21)) {
+ case 0: nm = ""; ty = Ity_I32; break;
+ case 1: nm = "d"; ty = Ity_I64; break;
+ case 2: nm = "b"; ty = Ity_I8; narrow = Iop_32to8; break;
+ case 3: nm = "h"; ty = Ity_I16; narrow = Iop_32to16; break;
+ default: vassert(0);
+ }
+ if (ty == Ity_I32 || ty == Ity_I16 || ty == Ity_I8) {
+ if (rD == 15 || rN == 15 || rT == 15
+ || rD == rN || rD == rT)
+ valid = False;
} else {
- IRTemp resSC1, resSC32;
-
+ vassert(ty == Ity_I64);
+ if (rD == 15 || (rT & 1) == 1 || rT == 14 || rN == 15
+ || rD == rN || rD == rT || rD == rT+1)
+ valid = False;
+ }
+ if (valid) {
+ IRTemp resSC1, resSC32, data;
/* make unconditional */
if (condT != IRTemp_INVALID) {
mk_skip_over_A32_if_cond_is_false( condT );
condT = IRTemp_INVALID;
}
-
/* Ok, now we're unconditional. Do the store. */
+ data = newTemp(ty);
+ assign(data,
+ ty == Ity_I64
+ // FIXME: assumes little-endian guest
+ ? binop(Iop_32HLto64, getIRegA(rT+1), getIRegA(rT+0))
+ : narrow == Iop_INVALID
+ ? getIRegA(rT)
+ : unop(narrow, getIRegA(rT)));
resSC1 = newTemp(Ity_I1);
- stmt( IRStmt_LLSC(Iend_LE, resSC1, getIRegA(rN), getIRegA(rT)) );
+ // FIXME: assumes little-endian guest
+ stmt( IRStmt_LLSC(Iend_LE, resSC1, getIRegA(rN), mkexpr(data)) );
/* Set rD to 1 on failure, 0 on success. Currently we have
resSC1 == 0 on failure, 1 on success. */
@@ -13425,7 +13480,13 @@
putIRegA(rD, mkexpr(resSC32),
IRTemp_INVALID, Ijk_Boring);
- DIP("strex%s r%u, r%u, [r%u]\n", nCC(INSN_COND), rD, rT, rN);
+ if (ty == Ity_I64) {
+ DIP("strex%s%s r%u, r%u, r%u, [r%u]\n",
+ nm, nCC(INSN_COND), rD, rT, rT+1, rN);
+ } else {
+ DIP("strex%s%s r%u, r%u, [r%u]\n",
+ nm, nCC(INSN_COND), rD, rT, rN);
+ }
goto decode_success;
}
/* fall through */
@@ -17771,6 +17832,49 @@
}
}
+ /* --------------- (T1) LDREX{B,H} --------------- */
+ if (INSN0(15,4) == 0xE8D
+ && (INSN1(11,0) == 0xF4F || INSN1(11,0) == 0xF5F)) {
+ UInt rN = INSN0(3,0);
+ UInt rT = INSN1(15,12);
+ Bool isH = INSN1(11,0) == 0xF5F;
+ if (!isBadRegT(rT) && rN != 15) {
+ IRTemp res;
+ // go uncond
+ mk_skip_over_T32_if_cond_is_false( condT );
+ // now uncond
+ res = newTemp(isH ? Ity_I16 : Ity_I8);
+ stmt( IRStmt_LLSC(Iend_LE, res, getIRegT(rN),
+ NULL/*this is a load*/ ));
+ putIRegT(rT, unop(isH ? Iop_16Uto32 : Iop_8Uto32, mkexpr(res)),
+ IRTemp_INVALID);
+ DIP("ldrex%c r%u, [r%u]\n", isH ? 'h' : 'b', rT, rN);
+ goto decode_success;
+ }
+ }
+
+ /* --------------- (T1) LDREXD --------------- */
+ if (INSN0(15,4) == 0xE8D && INSN1(7,0) == 0x7F) {
+ UInt rN = INSN0(3,0);
+ UInt rT = INSN1(15,12);
+ UInt rT2 = INSN1(11,8);
+ if (!isBadRegT(rT) && !isBadRegT(rT2) && rT != rT2 && rN != 15) {
+ IRTemp res;
+ // go uncond
+ mk_skip_over_T32_if_cond_is_false( condT );
+ // now uncond
+ res = newTemp(Ity_I64);
+ // FIXME: assumes little-endian guest
+ stmt( IRStmt_LLSC(Iend_LE, res, getIRegT(rN),
+ NULL/*this is a load*/ ));
+ // FIXME: assumes little-endian guest
+ putIRegT(rT, unop(Iop_64to32, mkexpr(res)), IRTemp_INVALID);
+ putIRegT(rT2, unop(Iop_64HIto32, mkexpr(res)), IRTemp_INVALID);
+ DIP("ldrexd r%u, r%u, [r%u]\n", rT, rT2, rN);
+ goto decode_success;
+ }
+ }
+
/* ----------------- (T1) STREX ----------------- */
if (INSN0(15,4) == 0xE84) {
UInt rN = INSN0(3,0);
@@ -17780,30 +17884,84 @@
if (!isBadRegT(rD) && !isBadRegT(rT) && rN != 15
&& rD != rN && rD != rT) {
IRTemp resSC1, resSC32;
-
// go uncond
mk_skip_over_T32_if_cond_is_false( condT );
// now uncond
-
/* Ok, now we're unconditional. Do the store. */
resSC1 = newTemp(Ity_I1);
stmt( IRStmt_LLSC(Iend_LE,
resSC1,
binop(Iop_Add32, getIRegT(rN), mkU32(imm8 * 4)),
getIRegT(rT)) );
+ /* Set rD to 1 on failure, 0 on success. Currently we have
+ resSC1 == 0 on failure, 1 on success. */
+ resSC32 = newTemp(Ity_I32);
+ assign(resSC32,
+ unop(Iop_1Uto32, unop(Iop_Not1, mkexpr(resSC1))));
+ putIRegT(rD, mkexpr(resSC32), IRTemp_INVALID);
+ DIP("strex r%u, r%u, [r%u, #+%u]\n", rD, rT, rN, imm8 * 4);
+ goto decode_success;
+ }
+ }
+ /* --------------- (T1) STREX{B,H} --------------- */
+ if (INSN0(15,4) == 0xE8C
+ && (INSN1(11,4) == 0xF4 || INSN1(11,4) == 0xF5)) {
+ UInt rN = INSN0(3,0);
+ UInt rT = INSN1(15,12);
+ UInt rD = INSN1(3,0);
+ Bool isH = INSN1(11,4) == 0xF5;
+ if (!isBadRegT(rD) && !isBadRegT(rT) && rN != 15
+ && rD != rN && rD != rT) {
+ IRTemp resSC1, resSC32;
+ // go uncond
+ mk_skip_over_T32_if_cond_is_false( condT );
+ // now uncond
+ /* Ok, now we're unconditional. Do the store. */
+ resSC1 = newTemp(Ity_I1);
+ stmt( IRStmt_LLSC(Iend_LE, resSC1, getIRegT(rN),
+ unop(isH ? Iop_32to16 : Iop_32to8,
+ getIRegT(rT))) );
/* Set rD to 1 on failure, 0 on success. Currently we have
resSC1 == 0 on failure, 1 on success. */
resSC32 = newTemp(Ity_I32);
assign(resSC32,
unop(Iop_1Uto32, unop(Iop_Not1, mkexpr(resSC1))));
+ putIRegT(rD, mkexpr(resSC32), IRTemp_INVALID);
+ DIP("strex%c r%u, r%u, [r%u]\n", isH ? 'h' : 'b', rD, rT, rN);
+ goto decode_success;
+ }
+ }
+ /* ---------------- (T1) STREXD ---------------- */
+ if (INSN0(15,4) == 0xE8C && INSN1(7,4) == BITS4(0,1,1,1)) {
+ UInt rN = INSN0(3,0);
+ UInt rT = INSN1(15,12);
+ UInt rT2 = INSN1(11,8);
+ UInt rD = INSN1(3,0);
+ if (!isBadRegT(rD) && !isBadRegT(rT) && !isBadRegT(rT2)
+ && rN != 15 && rD != rN && rD != rT && rD != rT) {
+ IRTemp resSC1, resSC32, data;
+ // go uncond
+ mk_skip_over_T32_if_cond_is_false( condT );
+ // now uncond
+ /* Ok, now we're unconditional. Do the store. */
+ resSC1 = newTemp(Ity_I1);
+ data = newTemp(Ity_I64);
+ // FIXME: assumes little-endian guest
+ assign(data, binop(Iop_32HLto64, getIRegT(rT2), getIRegT(rT)));
+ // FIXME: assumes little-endian guest
+ stmt( IRStmt_LLSC(Iend_LE, resSC1, getIRegT(rN), mkexpr(data)));
+ /* Set rD to 1 on failure, 0 on success. Currently we have
+ resSC1 == 0 on failure, 1 on success. */
+ resSC32 = newTemp(Ity_I32);
+ assign(resSC32,
+ unop(Iop_1Uto32, unop(Iop_Not1, mkexpr(resSC1))));
putIRegT(rD, mkexpr(resSC32), IRTemp_INVALID);
- DIP("strex r%u, r%u, [r%u, #+%u]\n", rD, rT, rN, imm8 * 4);
+ DIP("strexd r%u, r%u, r%u, [r%u]\n", rD, rT, rT2, rN);
goto decode_success;
}
}
-
/* -------------- v7 barrier insns -------------- */
if (INSN0(15,0) == 0xF3BF && (INSN1(15,0) & 0xFF00) == 0x8F00) {
/* XXX this isn't really right, is it? The generated IR does
Modified: trunk/priv/host_arm_defs.c
===================================================================
--- trunk/priv/host_arm_defs.c 2011-07-11 01:48:02 UTC (rev 2171)
+++ trunk/priv/host_arm_defs.c 2011-07-11 11:43:38 UTC (rev 2172)
@@ -1206,14 +1206,14 @@
ARMInstr* i = LibVEX_Alloc(sizeof(ARMInstr));
i->tag = ARMin_LdrEX;
i->ARMin.LdrEX.szB = szB;
- vassert(szB == 4 || szB == 1);
+ vassert(szB == 8 || szB == 4 || szB == 2 || szB == 1);
return i;
}
ARMInstr* ARMInstr_StrEX ( Int szB ) {
ARMInstr* i = LibVEX_Alloc(sizeof(ARMInstr));
i->tag = ARMin_StrEX;
i->ARMin.StrEX.szB = szB;
- vassert(szB == 4 || szB == 1);
+ vassert(szB == 8 || szB == 4 || szB == 2 || szB == 1);
return i;
}
ARMInstr* ARMInstr_VLdStD ( Bool isLoad, HReg dD, ARMAModeV* am ) {
@@ -1603,16 +1603,28 @@
vex_printf("r1:r0, r2, r3");
}
return;
- case ARMin_LdrEX:
- vex_printf("ldrex%s ", i->ARMin.LdrEX.szB == 1 ? "b"
- : i->ARMin.LdrEX.szB == 2 ? "h" : "");
- vex_printf("r0, [r1]");
+ case ARMin_LdrEX: {
+ HChar* sz = "";
+ switch (i->ARMin.LdrEX.szB) {
+ case 1: sz = "b"; break; case 2: sz = "h"; break;
+ case 8: sz = "d"; break; case 4: break;
+ default: vassert(0);
+ }
+ vex_printf("ldrex%s %sr2, [r4]",
+ sz, i->ARMin.LdrEX.szB == 8 ? "r3:" : "");
return;
- case ARMin_StrEX:
- vex_printf("strex%s ", i->ARMin.StrEX.szB == 1 ? "b"
- : i->ARMin.StrEX.szB == 2 ? "h" : "");
- vex_printf("r0, r1, [r2]");
+ }
+ case ARMin_StrEX: {
+ HChar* sz = "";
+ switch (i->ARMin.StrEX.szB) {
+ case 1: sz = "b"; break; case 2: sz = "h"; break;
+ case 8: sz = "d"; break; case 4: break;
+ default: vassert(0);
+ }
+ vex_printf("strex%s r0, %sr2, [r4]",
+ sz, i->ARMin.StrEX.szB == 8 ? "r3:" : "");
return;
+ }
case ARMin_VLdStD:
if (i->ARMin.VLdStD.isLoad) {
vex_printf("fldd ");
@@ -1989,13 +2001,17 @@
addHRegUse(u, HRmWrite, hregARM_R1());
return;
case ARMin_LdrEX:
- addHRegUse(u, HRmWrite, hregARM_R0());
- addHRegUse(u, HRmRead, hregARM_R1());
+ addHRegUse(u, HRmRead, hregARM_R4());
+ addHRegUse(u, HRmWrite, hregARM_R2());
+ if (i->ARMin.LdrEX.szB == 8)
+ addHRegUse(u, HRmWrite, hregARM_R3());
return;
case ARMin_StrEX:
+ addHRegUse(u, HRmRead, hregARM_R4());
addHRegUse(u, HRmWrite, hregARM_R0());
- addHRegUse(u, HRmRead, hregARM_R1());
addHRegUse(u, HRmRead, hregARM_R2());
+ if (i->ARMin.StrEX.szB == 8)
+ addHRegUse(u, HRmRead, hregARM_R3());
return;
case ARMin_VLdStD:
addRegUsage_ARMAModeV(u, i->ARMin.VLdStD.amode);
@@ -2959,27 +2975,31 @@
goto bad;
}
case ARMin_LdrEX: {
- /* E1910F9F ldrex r0, [r1]
- E1F10F9F ldrexh r0, [r1]
- E1D10F9F ldrexb r0, [r1]
+ /* E1D42F9F ldrexb r2, [r4]
+ E1F42F9F ldrexh r2, [r4]
+ E1942F9F ldrex r2, [r4]
+ E1B42F9F ldrexd r2, r3, [r4]
*/
switch (i->ARMin.LdrEX.szB) {
- case 4: *p++ = 0xE1910F9F; goto done;
- //case 2: *p++ = 0xE1F10F9F; goto done;
- case 1: *p++ = 0xE1D10F9F; goto done;
+ case 1: *p++ = 0xE1D42F9F; goto done;
+ case 2: *p++ = 0xE1F42F9F; goto done;
+ case 4: *p++ = 0xE1942F9F; goto done;
+ case 8: *p++ = 0xE1B42F9F; goto done;
default: break;
}
goto bad;
}
case ARMin_StrEX: {
- /* E1820F91 strex r0, r1, [r2]
- E1E20F91 strexh r0, r1, [r2]
- E1C20F91 strexb r0, r1, [r2]
+ /* E1C40F92 strexb r0, r2, [r4]
+ E1E40F92 strexh r0, r2, [r4]
+ E1840F92 strex r0, r2, [r4]
+ E1A40F92 strexd r0, r2, r3, [r4]
*/
switch (i->ARMin.StrEX.szB) {
- case 4: *p++ = 0xE1820F91; goto done;
- //case 2: *p++ = 0xE1E20F91; goto done;
- case 1: *p++ = 0xE1C20F91; goto done;
+ case 1: *p++ = 0xE1C40F92; goto done;
+ case 2: *p++ = 0xE1E40F92; goto done;
+ case 4: *p++ = 0xE1840F92; goto done;
+ case 8: *p++ = 0xE1A40F92; goto done;
default: break;
}
goto bad;
Modified: trunk/priv/host_arm_defs.h
===================================================================
--- trunk/priv/host_arm_defs.h 2011-07-11 01:48:02 UTC (rev 2171)
+++ trunk/priv/host_arm_defs.h 2011-07-11 11:43:38 UTC (rev 2172)
@@ -709,18 +709,21 @@
struct {
ARMMulOp op;
} Mul;
- /* LDREX{,H,B} r0, [r1]
+ /* LDREX{,H,B} r2, [r4] and
+ LDREXD r2, r3, [r4] (on LE hosts, transferred value is r3:r2)
Again, hardwired registers since this is not performance
critical, and there are possibly constraints on the
registers that we can't express in the register allocator.*/
struct {
- Int szB; /* currently only 4 is allowed */
+ Int szB; /* 1, 2, 4 or 8 */
} LdrEX;
- /* STREX{,H,B} r0, r1, [r2]
- r0 = SC( [r2] = r1 )
+ /* STREX{,H,B} r0, r2, [r4] and
+ STREXD r0, r2, r3, [r4] (on LE hosts, transferred value is r3:r2)
+ r0 = SC( [r4] = r2 ) (8, 16, 32 bit transfers)
+ r0 = SC( [r4] = r3:r2) (64 bit transfers)
Ditto comment re fixed registers. */
struct {
- Int szB; /* currently only 4 is allowed */
+ Int szB; /* 1, 2, 4 or 8 */
} StrEX;
/* VFP INSTRUCTIONS */
/* 64-bit Fp load/store */
Modified: trunk/priv/host_arm_isel.c
===================================================================
--- trunk/priv/host_arm_isel.c 2011-07-11 01:48:02 UTC (rev 2171)
+++ trunk/priv/host_arm_isel.c 2011-07-11 11:43:38 UTC (rev 2172)
@@ -211,8 +211,8 @@
static ARMAModeV* iselIntExpr_AModeV_wrk ( ISelEnv* env, IRExpr* e );
static ARMAModeV* iselIntExpr_AModeV ( ISelEnv* env, IRExpr* e );
-static ARMAModeN* iselIntExpr_AModeN_wrk ( ISelEnv* env, IRExpr* e );
-static ARMAModeN* iselIntExpr_AModeN ( ISelEnv* env, IRExpr* e );
+static ARMAModeN* iselIntExpr_AModeN_wrk ( ISelEnv* env, IRExpr* e );
+static ARMAModeN* iselIntExpr_AModeN ( ISelEnv* env, IRExpr* e );
static ARMRI84* iselIntExpr_RI84_wrk
( /*OUT*/Bool* didInv, Bool mayInv, ISelEnv* env, IRExpr* e );
@@ -5820,50 +5820,86 @@
/* LL */
IRTemp res = stmt->Ist.LLSC.result;
IRType ty = typeOfIRTemp(env->type_env, res);
- if (ty == Ity_I32 || ty == Ity_I8) {
+ if (ty == Ity_I32 || ty == Ity_I16 || ty == Ity_I8) {
Int szB = 0;
HReg r_dst = lookupIRTemp(env, res);
HReg raddr = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
switch (ty) {
case Ity_I8: szB = 1; break;
+ case Ity_I16: szB = 2; break;
case Ity_I32: szB = 4; break;
default: vassert(0);
}
- addInstr(env, mk_iMOVds_RR(hregARM_R1(), raddr));
+ addInstr(env, mk_iMOVds_RR(hregARM_R4(), raddr));
addInstr(env, ARMInstr_LdrEX(szB));
- addInstr(env, mk_iMOVds_RR(r_dst, hregARM_R0()));
+ addInstr(env, mk_iMOVds_RR(r_dst, hregARM_R2()));
return;
}
- /* else fall thru; is unhandled */
+ if (ty == Ity_I64) {
+ HReg raddr = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
+ addInstr(env, mk_iMOVds_RR(hregARM_R4(), raddr));
+ addInstr(env, ARMInstr_LdrEX(8));
+ /* Result is in r3:r2. On a non-NEON capable CPU, we must
+ move it into a result register pair. On a NEON capable
+ CPU, the result register will be a 64 bit NEON
+ register, so we must move it there instead. */
+ if (arm_hwcaps & VEX_HWCAPS_ARM_NEON) {
+ HReg dst = lookupIRTemp(env, res);
+ addInstr(env, ARMInstr_VXferD(True, dst, hregARM_R3(),
+ hregARM_R2()));
+ } else {
+ HReg r_dst_hi, r_dst_lo;
+ lookupIRTemp64(&r_dst_hi, &r_dst_lo, env, res);
+ addInstr(env, mk_iMOVds_RR(r_dst_lo, hregARM_R2()));
+ addInstr(env, mk_iMOVds_RR(r_dst_hi, hregARM_R3()));
+ }
+ return;
+ }
+ /*NOTREACHED*/
+ vassert(0);
} else {
/* SC */
- IRTemp res = stmt->Ist.LLSC.result;
- IRType ty = typeOfIRTemp(env->type_env, res);
IRType tyd = typeOfIRExpr(env->type_env, stmt->Ist.LLSC.storedata);
- vassert(ty == Ity_I1);
- if (tyd == Ity_I32 || tyd == Ity_I8) {
- Int szB = 0;
- HReg r_res = lookupIRTemp(env, res);
- HReg rD = iselIntExpr_R(env, stmt->Ist.LLSC.storedata);
- HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
- ARMRI84* one = ARMRI84_I84(1,0);
+ if (tyd == Ity_I32 || tyd == Ity_I16 || tyd == Ity_I8) {
+ Int szB = 0;
+ HReg rD = iselIntExpr_R(env, stmt->Ist.LLSC.storedata);
+ HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
switch (tyd) {
case Ity_I8: szB = 1; break;
+ case Ity_I16: szB = 2; break;
case Ity_I32: szB = 4; break;
default: vassert(0);
}
- addInstr(env, mk_iMOVds_RR(hregARM_R1(), rD));
- addInstr(env, mk_iMOVds_RR(hregARM_R2(), rA));
+ addInstr(env, mk_iMOVds_RR(hregARM_R2(), rD));
+ addInstr(env, mk_iMOVds_RR(hregARM_R4(), rA));
addInstr(env, ARMInstr_StrEX(szB));
- /* now r0 is 1 if failed, 0 if success. Change to IR
- conventions (0 is fail, 1 is success). Also transfer
- result to r_res. */
- addInstr(env, ARMInstr_Alu(ARMalu_XOR, r_res, hregARM_R0(), one));
- /* And be conservative -- mask off all but the lowest bit */
- addInstr(env, ARMInstr_Alu(ARMalu_AND, r_res, r_res, one));
- return;
+ } else {
+ vassert(tyd == Ity_I64);
+ /* This is really ugly. There is no is/is-not NEON
+ decision akin to the case for LL, because iselInt64Expr
+ fudges this for us, and always gets the result into two
+ GPRs even if this means moving it from a NEON
+ register. */
+ HReg rDhi, rDlo;
+ iselInt64Expr(&rDhi, &rDlo, env, stmt->Ist.LLSC.storedata);
+ HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
+ addInstr(env, mk_iMOVds_RR(hregARM_R2(), rDlo));
+ addInstr(env, mk_iMOVds_RR(hregARM_R3(), rDhi));
+ addInstr(env, mk_iMOVds_RR(hregARM_R4(), rA));
+ addInstr(env, ARMInstr_StrEX(8));
}
- /* else fall thru; is unhandled */
+ /* now r0 is 1 if failed, 0 if success. Change to IR
+ conventions (0 is fail, 1 is success). Also transfer
+ result to r_res. */
+ IRTemp res = stmt->Ist.LLSC.result;
+ IRType ty = typeOfIRTemp(env->type_env, res);
+ HReg r_res = lookupIRTemp(env, res);
+ ARMRI84* one = ARMRI84_I84(1,0);
+ vassert(ty == Ity_I1);
+ addInstr(env, ARMInstr_Alu(ARMalu_XOR, r_res, hregARM_R0(), one));
+ /* And be conservative -- mask off all but the lowest bit */
+ addInstr(env, ARMInstr_Alu(ARMalu_AND, r_res, r_res, one));
+ return;
}
break;
}
Modified: trunk/priv/ir_defs.c
===================================================================
--- trunk/priv/ir_defs.c 2011-07-11 01:48:02 UTC (rev 2171)
+++ trunk/priv/ir_defs.c 2011-07-11 11:43:38 UTC (rev 2172)
@@ -3344,14 +3344,16 @@
tyRes = typeOfIRTemp(tyenv, stmt->Ist.LLSC.result);
if (stmt->Ist.LLSC.storedata == NULL) {
/* it's a LL */
- if (tyRes != Ity_I64 && tyRes != Ity_I32 && tyRes != Ity_I8)
+ if (tyRes != Ity_I64 && tyRes != Ity_I32
+ && tyRes != Ity_I16 && tyRes != Ity_I8)
sanityCheckFail(bb,stmt,"Ist.LLSC(LL).result :: bogus");
} else {
/* it's a SC */
if (tyRes != Ity_I1)
sanityCheckFail(bb,stmt,"Ist.LLSC(SC).result: not :: Ity_I1");
tyData = typeOfIRExpr(tyenv, stmt->Ist.LLSC.storedata);
- if (tyData != Ity_I64 && tyData != Ity_I32 && tyData != Ity_I8)
+ if (tyData != Ity_I64 && tyData != Ity_I32
+ && tyData != Ity_I16 && tyData != Ity_I8)
sanityCheckFail(bb,stmt,
"Ist.LLSC(SC).result :: storedata bogus");
}
|
|
From: Rich C. <rc...@wi...> - 2011-07-11 05:47:56
|
Nightly build on ppc32 ( Linux 2.6.27.45-0.1-default ppc )
Started at 2011-07-10 23:26:01 CDT
Ended at 2011-07-11 00:47:43 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
== 470 tests, 22 stderr failures, 5 stdout failures, 2 stderrB failures, 0 stdoutB failures, 2 post failures ==
gdbserver_tests/mcinfcallWSRU (stderrB)
gdbserver_tests/mcvabits (stderrB)
memcheck/tests/badjump (stderr)
memcheck/tests/badjump2 (stderr)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/varinfo6 (stderr)
massif/tests/deep-D (post)
massif/tests/overloaded-new (post)
none/tests/linux/mremap (stderr)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/power5+_round (stdout)
none/tests/ppc32/power5+_round (stderr)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/tc23_bogus_condwait (stderr)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-darwin-amd64
=================================================
--- tc23_bogus_condwait.stderr.exp-darwin-amd64 2011-07-11 00:07:28.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2011-07-11 00:47:22.000000000 -0500
@@ -3,67 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Assertion failed: (!r), function main, file tc23_bogus_condwait.c, line 86.
-Process terminating with default action of signal 6 (SIGABRT)
- at 0x........: __kill (in /...libc...)
- by 0x........: __assert_rtn (in /...libc...)
- by 0x........: main (tc23_bogus_condwait.c:86)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-darwin-x86
=================================================
--- tc23_bogus_condwait.stderr.exp-darwin-x86 2011-07-11 00:07:28.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2011-07-11 00:47:22.000000000 -0500
@@ -3,61 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-ppc
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-ppc 2011-07-11 00:07:28.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2011-07-11 00:47:22.000000000 -0500
@@ -6,8 +6,8 @@
Process terminating with default action of signal 7 (SIGBUS)
Invalid address alignment at address 0x........
- at 0x........: (within libpthread-?.?.so)
- by 0x........: pthread_cond_wait@@GLIBC_2.3.2(within libpthread-?.?.so)
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc23_bogus_condwait.stderr.diff-linux-x86
=================================================
--- tc23_bogus_condwait.stderr.exp-linux-x86 2011-07-11 00:07:28.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2011-07-11 00:47:22.000000000 -0500
@@ -3,84 +3,11 @@
at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:20)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-
-Thread 1:
-Mutex not locked: mutex 0x........, recursion count 0, owner 0.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:72)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:24)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:51)
-
-Thread 1:
-The object at address 0x........ is not a mutex.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:75)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:28)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-rwlock 0x........ was first observed at:
- at 0x........: pthread_rwlock_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:57)
-
-Thread 1:
-Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 2.
- at 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:78)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-Thread 3:
-Probably a race condition: condition variable 0x........ has been signaled but the associated mutex 0x........ is not locked by the signalling thread.
- at 0x........: pthread_cond_signal (drd_pthread_intercepts.c:?)
- by 0x........: rescue_me (tc23_bogus_condwait.c:32)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-cond 0x........ was first observed at:
- at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:56)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
-
-The impossible happened: mutex 0x........ is locked simultaneously by two threads (recursion count 1, owners 2 and 1) !
-Thread 2:
-Mutex not locked by calling thread: mutex 0x........, recursion count 2, owner 1.
- at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
- by 0x........: grab_the_lock (tc23_bogus_condwait.c:42)
- by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: main (tc23_bogus_condwait.c:53)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:?)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:?)
+ by 0x........: pthread_cond_wait (drd_pthread_intercepts.c:?)
-ERROR SUMMARY: 11 errors from 9 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/gdbserver_tests/mcinfcallWSRU.stderrB.diff
=================================================
--- mcinfcallWSRU.stderrB.exp 2011-07-11 00:07:08.000000000 -0500
+++ mcinfcallWSRU.stderrB.out 2011-07-11 00:24:19.000000000 -0500
@@ -26,30 +26,27 @@
$1 = void
[Switching to thread 2 (Thread ....)]
#0 0x........ in syscall ...
-Could not write register "xxx"; remote failure reply 'E.
+Remote failure reply: E.
ERROR changing register xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
-'
[Switching to thread 3 (Thread ....)]
#0 0x........ in syscall ...
-Could not write register "xxx"; remote failure reply 'E.
+Remote failure reply: E.
ERROR changing register xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
-'
[Switching to thread 4 (Thread ....)]
#0 0x........ in syscall ...
-Could not write register "xxx"; remote failure reply 'E.
+Remote failure reply: E.
ERROR changing register xxx regno y
gdb commands changing registers (pc, sp, ...) (e.g. 'jump',
set pc, calling from gdb a function in the debugged process, ...)
can only be accepted if the thread is VgTs_Runnable or VgTs_Yielding state
Thread status is VgTs_WaitSys
-'
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2011-07-11 00:07:08.000000000 -0500
+++ mcvabits.stderrB.out 2011-07-11 00:24:52.000000000 -0500
@@ -1,55 +1,32 @@
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
- Address 0x........ is 0 bytes inside data symbol "undefined"
-00000000 00000000 0000
-Address 0x........ len 10 addressable
- Address 0x........ is 0 bytes inside data symbol "undefined"
-Address 0x........ len 10 not defined:
-Uninitialised value at 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-ff00ff00 ff00ff00 ff00
-Address 0x........ len 10 addressable
- Address 0x........ is 0 bytes inside data symbol "undefined"
-Address 0x........ len 10 not defined:
-Uninitialised value at 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-ff000000 0000ff00 ff00
-Address 0x........ len 10 addressable
- Address 0x........ is 0 bytes inside data symbol "undefined"
-Address 0x........ len 10 not defined:
-Uninitialised value at 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-ff00ffff ffffff00 ff00
-Address 0x........ len 2 addressable
- Address 0x........ is 0 bytes inside data symbol "undefined"
-Address 0x........ len 2 not defined:
-Uninitialised value at 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-ff00
-Address 0x........ len 2 not addressable:
-bad address 0x........
- Address 0x........ is 2 bytes inside data symbol "undefined"
-Address 0x........ len 2 not addressable:
-bad address 0x........
- Address 0x........ is 2 bytes inside data symbol "undefined"
-____
-Address 0x........ len 2 has 2 bytes unaddressable
-Address 0x........ len 6 addressable
- Address 0x........ is 4 bytes inside data symbol "undefined"
-Address 0x........ len 6 not defined:
-Uninitialised value at 0x........
- Address 0x........ is 4 bytes inside data symbol "undefined"
-ffffff00 ff00
-Address 0x........ len 10 not addressable:
-bad address 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-Address 0x........ len 10 not addressable:
-bad address 0x........
- Address 0x........ is 0 bytes inside data symbol "undefined"
-0000____ 00000000 0000
-Address 0x........ len 10 has 2 bytes unaddressable
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
+Undefined command: "eval". Try "help".
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ hg05_race2.stderr.out 2011-07-11 00:37:10.000000000 -0500
@@ -27,9 +27,6 @@
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
-declared at hg05_race2.c:24, in frame #x of thread x
-
----------------------------------------------------------------
Possible data race during write of size 4 at 0x........ by thread #x
@@ -44,8 +41,5 @@
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
-Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
-declared at hg05_race2.c:24, in frame #x of thread x
-
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_fwd.stderr.diff
=================================================
--- locked_vs_unlocked1_fwd.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ locked_vs_unlocked1_fwd.stderr.out 2011-07-11 00:37:14.000000000 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_rev.stderr.diff
=================================================
--- locked_vs_unlocked1_rev.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ locked_vs_unlocked1_rev.stderr.out 2011-07-11 00:37:16.000000000 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ locked_vs_unlocked2.stderr.out 2011-07-11 00:37:18.000000000 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked3.stderr.diff
=================================================
--- locked_vs_unlocked3.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ locked_vs_unlocked3.stderr.out 2011-07-11 00:37:21.000000000 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ pth_barrier3.stderr.out 2011-07-11 00:37:27.000000000 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
- by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: do_clone (in /...libpthread...)
+ by 0x........: pthread_create@@GLIBC_2.1 (in /...libpthread...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2011-07-11 00:38:04.000000000 -0500
@@ -40,14 +40,19 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>do_clone</fn>
<dir>...</dir>
- <file>clone.S</file>
+ <file>createthread.c</file>
<line>...</line>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
<dir>...</dir>
<file>createthread.c</file>
<line>...</line>
@@ -128,6 +133,8 @@
</frame>
<frame>
<ip>0x........</ip>
+ <obj>...</obj>
+ <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -183,6 +190,8 @@
</frame>
<frame>
<ip>0x........</ip>
+ <obj>...</obj>
+ <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -238,6 +247,8 @@
</frame>
<frame>
<ip>0x........</ip>
+ <obj>...</obj>
+ <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -293,6 +304,8 @@
</frame>
<frame>
<ip>0x........</ip>
+ <obj>...</obj>
+ <fn>clone</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff-glibc28-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc28-amd64 2011-07-11 00:07:06.000000000 -0500
+++ tc18_semabuse.stderr.out 2011-07-11 00:38:28.000000000 -0500
@@ -17,13 +17,5 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
-----------------------------------------------------------------
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc18_semabuse.c:37)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff-glibc27-amd64
=================================================
--- tc20_verifywrap.stderr.exp-glibc27-amd64 2011-07-11 00:07:06.000000000 -0500
+++ tc20_verifywrap.stderr.out 2011-07-11 00:38:50.000000000 -0500
@@ -101,16 +101,14 @@
----------------------------------------------------------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
----------------------------------------------------------------
Thread #x's call to pthread_cond_wait failed
with error code 1 (EPERM: Operation not permitted)
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:147)
----------------------------------------------------------------
@@ -134,16 +132,14 @@
----------------------------------------------------------------
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
----------------------------------------------------------------
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:165)
@@ -204,14 +200,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
@@ -224,4 +212,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2011-07-11 00:07:06.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2011-07-11 00:39:02.000000000 -0500
@@ -6,51 +6,28 @@
----------------------------------------------------------------
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
-----------------------------------------------------------------
-
-Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-----------------------------------------------------------------
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-----------------------------------------------------------------
-Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (pthread_mutex_unlock.c:64)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (pthread_cond_wait.c:108)
by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-----------------------------------------------------------------
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-----------------------------------------------------------------
+ by 0x........: main (tc23_bogus_condwait.c:69)
+---Thread-Announcement------------------------------------------
-Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:61)
----------------------------------------------------------------
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+ ...
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/massif/tests/deep-D.post.diff
=================================================
--- deep-D.post.exp 2011-07-11 00:07:14.000000000 -0500
+++ deep-D.post.out 2011-07-11 00:33:31.000000000 -0500
@@ -46,8 +46,9 @@
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->98.04% (3,600B) 0x........: (below main)
-
+->98.04% (3,600B) 0x........: ??? (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/massif/tests/overloaded-new.post.diff
=================================================
--- overloaded-new.post.exp 2011-07-11 00:07:14.000000000 -0500
+++ overloaded-new.post.out 2011-07-11 00:33:42.000000000 -0500
@@ -42,14 +42,18 @@
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
-|
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
-
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+ ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/badjump.stderr.diff
=================================================
--- badjump.stderr.exp 2011-07-11 00:07:12.000000000 -0500
+++ badjump.stderr.out 2011-07-11 00:26:29.000000000 -0500
@@ -1,6 +1,7 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
@@ -8,6 +9,7 @@
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/badjump.stderr.diff-s390x
=================================================
--- badjump.stderr.exp-s390x 2011-07-11 00:07:12.000000000 -0500
+++ badjump.stderr.out 2011-07-11 00:26:29.000000000 -0500
@@ -1,14 +1,16 @@
Jump to the invalid address stated on the next line
at 0x........: ???
- by 0x........: main (badjump.c:17)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
- by 0x........: main (badjump.c:17)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
possible), you can try to increase the size of the
=================================================
./valgrind-new/memcheck/tests/badjump2.stderr.diff
=================================================
--- badjump2.stderr.exp 2011-07-11 00:07:12.000000000 -0500
+++ badjump2.stderr.out 2011-07-11 00:26:31.000000000 -0500
@@ -1,5 +1,6 @@
Jump to the invalid address stated on the next line
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=================================================
./valgrind-new/memcheck/tests/badjump2.stderr.diff-s390x
=================================================
--- badjump2.stderr.exp-s390x 2011-07-11 00:07:12.000000000 -0500
+++ badjump2.stderr.out 2011-07-11 00:26:31.000000000 -0500
@@ -1,6 +1,7 @@
Jump to the invalid address stated on the next line
at 0x........: ???
- by 0x........: main (badjump2.c:46)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Signal caught, as expected
=================================================
./valgrind-new/memcheck/tests/linux/stack_changes.stderr.diff
=================================================
--- stack_changes.stderr.exp 2011-07-11 00:07:11.000000000 -0500
+++ stack_changes.stderr.out 2011-07-11 00:27:56.000000000 -0500
@@ -0,0 +1,5 @@
+WARNING: unhandled syscall: 249
+You may be able to write your own handler.
+Read the file README_MISSING_SYSCALL_OR_IOCTL.
+Nevertheless we consider this a bug. Please report
+it at http://valgrind.org/support/bug_reports.html.
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2011-07-11 00:07:12.000000000 -0500
+++ origin5-bz2.stderr.out 2011-07-11 00:29:19.000000000 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,18 +71,7 @@
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: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
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -115,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2011-07-11 00:07:12.000000000 -0500
+++ origin5-bz2.stderr.out 2011-07-11 00:29:19.000000000 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2011-07-11 00:07:12.000000000 -0500
+++ origin5-bz2.stderr.out 2011-07-11 00:29:19.000000000 -0500
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ 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)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ 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)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ 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)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ 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)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ 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)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ 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)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2011-07-11 00:07:12.000000000 -0500
+++ origin5-bz2.stderr.out 2011-07-11 00:29:19.000000000 -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........: handle_compress (origin5-bz2.c:4686)
@@ -9,25 +9,25 @@
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
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
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:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
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:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -36,9 +36,9 @@
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
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -47,9 +47,9 @@
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
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -58,9 +58,9 @@
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
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -69,9 +69,9 @@
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
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -80,9 +80,9 @@
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
+Use of uninitialised value of size 4
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/supp_unknown.stderr.diff
=================================================
--- supp_unknown.stderr.exp 2011-07-11 00:07:12.000000000 -0500
+++ supp_unknown.stderr.out 2011-07-11 00:31:08.000000000 -0500
@@ -1,7 +1,14 @@
+Jump to the invalid address stated on the next line
+ at 0x........: ???
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
+ by 0x........: ??? (in /...libc...)
by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
=================================================
./valgrind-new/memcheck/tests/supp_unknown.stderr.diff-s390x
=================================================
--- supp_unknown.stderr.exp-s390x 2011-07-11 00:07:12.000000000 -0500
+++ supp_unknown.stderr.out 2011-07-11 00:31:08.000000000 -0500
@@ -1,8 +1,15 @@
+Jump to the invalid address stated on the next line
+ at 0x........: ???
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
Process terminating with default action of signal 11 (SIGSEGV)
Access not within mapped region at address 0x........
at 0x........: ???
- by 0x........: main (badjump.c:17)
+ by 0x........: ??? (in /...libc...)
+ by 0x........: (below main)
If you believe this happened as a result of a stack
overflow in your program's main thread (unlikely but
possible), you can try to increase the size of the
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2011-07-11 00:07:12.000000000 -0500
+++ varinfo6.stderr.out 2011-07-11 00:31:51.000000000 -0500
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64...
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2011-07-11 03:01:28
|
Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2011-07-11 03:40:49 BST Ended at 2011-07-11 04:01:10 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 == 566 tests, 3 stderr failures, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Rich C. <rc...@wi...> - 2011-07-11 02:53:40
|
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.1-1.2-desktop x86_64 )
Started at 2011-07-10 21:30:01 CDT
Ended at 2011-07-10 21:53:28 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
== 576 tests, 81 stderr failures, 56 stdout failures, 1 stderrB failure, 0 stdoutB failures, 3 post failures ==
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/x86/bug152022 (stderr)
memcheck/tests/x86/espindola2 (stderr)
memcheck/tests/x86/fpeflags (stderr)
memcheck/tests/x86/fprem (stdout)
memcheck/tests/x86/fprem (stderr)
memcheck/tests/x86/fxsave (stdout)
memcheck/tests/x86/fxsave (stderr)
memcheck/tests/x86/insn_basic (stdout)
memcheck/tests/x86/insn_basic (stderr)
memcheck/tests/x86/insn_cmov (stdout)
memcheck/tests/x86/insn_cmov (stderr)
memcheck/tests/x86/insn_fpu (stdout)
memcheck/tests/x86/insn_fpu (stderr)
memcheck/tests/x86/insn_mmx (stdout)
memcheck/tests/x86/insn_mmx (stderr)
memcheck/tests/x86/insn_sse (stdout)
memcheck/tests/x86/insn_sse (stderr)
memcheck/tests/x86/insn_sse2 (stdout)
memcheck/tests/x86/insn_sse2 (stderr)
memcheck/tests/x86/more_x86_fp (stdout)
memcheck/tests/x86/more_x86_fp (stderr)
memcheck/tests/x86/pushfpopf (stdout)
memcheck/tests/x86/pushfpopf (stderr)
memcheck/tests/x86/pushfw_x86 (stdout)
memcheck/tests/x86/pushfw_x86 (stderr)
memcheck/tests/x86/pushpopmem (stdout)
memcheck/tests/x86/pushpopmem (stderr)
memcheck/tests/x86/sse1_memory (stdout)
memcheck/tests/x86/sse1_memory (stderr)
memcheck/tests/x86/sse2_memory (stdout)
memcheck/tests/x86/sse2_memory (stderr)
memcheck/tests/x86/tronical (stderr)
memcheck/tests/x86/xor-undef-x86 (stdout)
memcheck/tests/x86/xor-undef-x86 (stderr)
memcheck/tests/x86-linux/bug133694 (stdout)
memcheck/tests/x86-linux/bug133694 (stderr)
memcheck/tests/x86-linux/int3-x86 (stdout)
memcheck/tests/x86-linux/int3-x86 (stderr)
memcheck/tests/x86-linux/scalar (stderr)
memcheck/tests/x86-linux/scalar_exit_group (stderr)
memcheck/tests/x86-linux/scalar_fork (stderr)
memcheck/tests/x86-linux/scalar_supp (stderr)
memcheck/tests/x86-linux/scalar_vfork (stderr)
cachegrind/tests/x86/fpu-28-108 (stderr)
none/tests/x86/aad_aam (stdout)
none/tests/x86/aad_aam (stderr)
none/tests/x86/badseg (stdout)
none/tests/x86/badseg (stderr)
none/tests/x86/bt_everything (stdout)
none/tests/x86/bt_everything (stderr)
none/tests/x86/bt_literal (stdout)
none/tests/x86/bt_literal (stderr)
none/tests/x86/bug125959-x86 (stdout)
none/tests/x86/bug125959-x86 (stderr)
none/tests/x86/bug126147-x86 (stdout)
none/tests/x86/bug126147-x86 (stderr)
none/tests/x86/bug132813-x86 (stdout)
none/tests/x86/bug132813-x86 (stderr)
none/tests/x86/bug135421-x86 (stdout)
none/tests/x86/bug135421-x86 (stderr)
none/tests/x86/bug137714-x86 (stdout)
none/tests/x86/bug137714-x86 (stderr)
none/tests/x86/bug152818-x86 (stdout)
none/tests/x86/bug152818-x86 (stderr)
none/tests/x86/cmpxchg8b (stdout)
none/tests/x86/cmpxchg8b (stderr)
none/tests/x86/cpuid (stdout)
none/tests/x86/cpuid (stderr)
none/tests/x86/cse_fail (stdout)
none/tests/x86/cse_fail (stderr)
none/tests/x86/fcmovnu (stdout)
none/tests/x86/fcmovnu (stderr)
none/tests/x86/fpu_lazy_eflags (stdout)
none/tests/x86/fpu_lazy_eflags (stderr)
none/tests/x86/fxtract (stdout)
none/tests/x86/fxtract (stderr)
none/tests/x86/getseg (stdout)
none/tests/x86/getseg (stderr)
none/tests/x86/incdec_alt (stdout)
none/tests/x86/incdec_alt (stderr)
none/tests/x86/insn_basic (stdout)
none/tests/x86/insn_basic (stderr)
none/tests/x86/insn_cmov (stdout)
none/tests/x86/insn_cmov (stderr)
none/tests/x86/insn_fpu (stdout)
none/tests/x86/insn_fpu (stderr)
none/tests/x86/insn_mmx (stdout)
none/tests/x86/insn_mmx (stderr)
none/tests/x86/insn_sse (stdout)
none/tests/x86/insn_sse (stderr)
none/tests/x86/insn_sse2 (stdout)
none/tests/x86/insn_sse2 (stderr)
none/tests/x86/insn_sse3 (stdout)
none/tests/x86/insn_sse3 (stderr)
none/tests/x86/insn_ssse3 (stdout)
none/tests/x86/insn_ssse3 (stderr)
none/tests/x86/jcxz (stdout)
none/tests/x86/jcxz (stderr)
none/tests/x86/lahf (stdout)
none/tests/x86/lahf (stderr)
none/tests/x86/looper (stdout)
none/tests/x86/looper (stderr)
none/tests/x86/movx (stdout)
none/tests/x86/movx (stderr)
none/tests/x86/pushpopseg (stdout)
none/tests/x86/pushpopseg (stderr)
none/tests/x86/sbbmisc (stdout)
none/tests/x86/sbbmisc (stderr)
none/tests/x86/shift_ndep (stdout)
none/tests/x86/shift_ndep (stderr)
none/tests/x86/smc1 (stdout)
none/tests/x86/smc1 (stderr)
none/tests/x86/ssse3_misaligned (stderr)
none/tests/x86/x86locked (stdout)
none/tests/x86/x86locked (stderr)
none/tests/x86/xadd (stdout)
none/tests/x86/xadd (stderr)
none/tests/x86-linux/seg_override (stdout)
none/tests/x86-linux/seg_override (stderr)
none/tests/x86-linux/sigcontext (stdout)
none/tests/x86-linux/sigcontext (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_barrier3 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-sgcheck/tests/bad_percentify (stderr)
exp-bbv/tests/x86/complex_rep (stderr)
exp-bbv/tests/x86/fldcw_check (stderr)
exp-bbv/tests/x86/million (stderr)
exp-bbv/tests/x86/rep_prefix (stderr)
exp-bbv/tests/x86-linux/clone_test (stderr)
exp-bbv/tests/x86-linux/clone_test (post)
exp-bbv/tests/x86-linux/ll (stdout)
exp-bbv/tests/x86-linux/ll (stderr)
=================================================
./valgrind-new/cachegrind/tests/x86/fpu-28-108.stderr.diff
=================================================
--- fpu-28-108.stderr.exp 2011-07-10 21:43:00.777773730 -0500
+++ fpu-28-108.stderr.out 2011-07-10 21:48:50.916442230 -0500
@@ -1,17 +1 @@
-
-
-I refs:
-I1 misses:
-LLi misses:
-I1 miss rate:
-LLi miss rate:
-
-D refs:
-D1 misses:
-LLd misses:
-D1 miss rate:
-LLd miss rate:
-
-LL refs:
-LL misses:
-LL miss rate:
+valgrind: ./fpu-28-108: No such file or directory
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/clone_test.post.diff
=================================================
--- clone_test.post.exp 2011-07-10 21:42:50.061426565 -0500
+++ clone_test.post.out 2011-07-10 21:53:28.235547660 -0500
@@ -1,58 +0,0 @@
-T 4 996 5 2 3 98991
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 1001 2 3 98994
-T 100000
-T 100000
-T 100000
-T 100000
-
-
-# Thread 1
-# Total intervals: 15 (Interval Size 100000)
-# Total instructions: 1501007
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-
-T 2 3 99996
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 99996 4
-T 100000
-T 100000
-T 100000
-T 100000
-T 99998 2
-
-
-# Thread 2
-# Total intervals: 25 (Interval Size 100000)
-# Total instructions: 2500001
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/clone_test.stderr.diff
=================================================
--- clone_test.stderr.exp 2011-07-10 21:42:50.061426565 -0500
+++ clone_test.stderr.out 2011-07-10 21:53:28.217548756 -0500
@@ -1,12 +0,0 @@
-# Thread 1
-# Total intervals: 15 (Interval Size 100000)
-# Total instructions: 1501007
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-# Thread 2
-# Total intervals: 25 (Interval Size 100000)
-# Total instructions: 2500001
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/ll.stderr.diff
=================================================
--- ll.stderr.exp 2011-07-10 21:42:50.060426624 -0500
+++ ll.stderr.out 2011-07-10 21:53:28.258546259 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 39 (Interval Size 1000)
-# Total instructions: 39439
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/ll.stdout.diff
=================================================
--- ll.stdout.exp 2011-07-10 21:42:50.060426624 -0500
+++ ll.stdout.out 2011-07-10 21:53:28.253546564 -0500
@@ -1,17 +0,0 @@
-[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
-[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
-[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
-[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
-[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
-
-[7CLinux Version 2.6.29, Compiled #1 SMP Mon May 4 09:51:54 EDT 2009
-[5COne 1665MHz AMD Athlon(tm) Processor, 512M RAM, 3330.53 Bogomips Total
-[37Ctobler[0m
-
=================================================
./valgrind-new/exp-bbv/tests/x86/complex_rep.stderr.diff
=================================================
--- complex_rep.stderr.exp 2011-07-10 21:42:50.175419741 -0500
+++ complex_rep.stderr.out 2011-07-10 21:53:28.115554970 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 100000)
-# Total instructions: 8206
-# Total reps: 2100228
-# Unique reps: 2052
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86/fldcw_check.stderr.diff
=================================================
--- fldcw_check.stderr.exp 2011-07-10 21:42:50.175419741 -0500
+++ fldcw_check.stderr.out 2011-07-10 21:53:28.139553508 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 10000)
-# Total instructions: 9261
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 2061
=================================================
./valgrind-new/exp-bbv/tests/x86/million.stderr.diff
=================================================
--- million.stderr.exp 2011-07-10 21:42:50.173419883 -0500
+++ million.stderr.out 2011-07-10 21:53:28.163552046 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 10 (Interval Size 100000)
-# Total instructions: 1000000
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86/rep_prefix.stderr.diff
=================================================
--- rep_prefix.stderr.exp 2011-07-10 21:42:50.173419883 -0500
+++ rep_prefix.stderr.out 2011-07-10 21:53:28.189550462 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 100000)
-# Total instructions: 124
-# Total reps: 229402
-# Unique reps: 26
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-sgcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2011-07-10 21:43:10.114204923 -0500
+++ bad_percentify.stderr.out 2011-07-10 21:53:19.253094874 -0500
@@ -16,7 +16,7 @@
by 0x........: myvprintf_str (bad_percentify.c:187)
by 0x........: VG_debugLog_vprintf (bad_percentify.c:479)
by 0x........: vprintf_to_buf (bad_percentify.c:89)
- by 0x........: vprintf_WRK (bad_percentify.c:102)
+ by 0x........: vprintf_WRK (bad_percentify.c:101)
by 0x........: VG_vprintf (bad_percentify.c:115)
by 0x........: VG_printf (bad_percentify.c:124)
by 0x........: VG_print_translation_stats (bad_percentify.c:622)
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2011-07-10 21:42:50.775383118 -0500
+++ mssnapshot.stderrB.out 2011-07-10 21:47:03.363994565 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=b1d398a5cb1609e7ac1c51a26588e87fc20f753c"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=e23cbc772e670af00bea9874f925e2e61afda713"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=1493bf69b1d671cbad9be1d1b0284fbd9138444b"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_fwd.stderr.diff
=================================================
--- locked_vs_unlocked1_fwd.stderr.exp 2011-07-10 21:42:48.719508370 -0500
+++ locked_vs_unlocked1_fwd.stderr.out 2011-07-10 21:50:37.139970928 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_rev.stderr.diff
=================================================
--- locked_vs_unlocked1_rev.stderr.exp 2011-07-10 21:42:48.726507943 -0500
+++ locked_vs_unlocked1_rev.stderr.out 2011-07-10 21:50:38.422892770 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2011-07-10 21:42:48.725508004 -0500
+++ locked_vs_unlocked2.stderr.out 2011-07-10 21:50:39.706814552 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked3.stderr.diff
=================================================
--- locked_vs_unlocked3.stderr.exp 2011-07-10 21:42:48.710508919 -0500
+++ locked_vs_unlocked3.stderr.out 2011-07-10 21:50:40.990736333 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/pth_barrier3.stderr.diff
=================================================
--- pth_barrier3.stderr.exp 2011-07-10 21:42:48.714508675 -0500
+++ pth_barrier3.stderr.out 2011-07-10 21:50:42.538642033 -0500
@@ -2,15 +2,15 @@
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
---Thread-Announcement------------------------------------------
Thread #x was created
at 0x........: clone (in /...libc...)
+ by 0x........: do_clone.clone.0 (in /...libpthread...)
by 0x........: pthread_create@@GLIBC_2.2.5 (in /...libpthread...)
- by 0x........: pthread_create_WRK (hg_intercepts.c:...)
----------------------------------------------------------------
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2011-07-10 21:42:48.727507882 -0500
+++ tc06_two_races_xml.stderr.out 2011-07-10 21:50:49.124240831 -0500
@@ -40,17 +40,16 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>clone</fn>
- <dir>...</dir>
- <file>clone.S</file>
- <line>...</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>do_clone.clone.0</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
- <dir>...</dir>
- <file>createthread.c</file>
- <line>...</line>
</frame>
<frame>
<ip>0x........</ip>
@@ -122,12 +121,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -177,12 +170,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -232,12 +219,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -287,12 +268,6 @@
<ip>0x........</ip>
<obj>...</obj>
<fn>start_thread</fn>
- <dir>...</dir>
- <file>pthread_create.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2011-07-10 21:42:56.558030817 -0500
+++ stack_switch.stderr.out 2011-07-10 21:47:50.769106530 -0500
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2011-07-10 21:42:57.424977996 -0500
+++ origin5-bz2.stderr.out 2011-07-10 21:48:10.942877501 -0500
@@ -72,17 +72,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)
@@ -128,6 +117,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 2011-07-10 21:42:57.380980676 -0500
+++ origin5-bz2.stderr.out 2011-07-10 21:48:10.942877501 -0500
@@ -117,6 +117,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 2011-07-10 21:42:57.437977205 -0500
+++ origin5-bz2.stderr.out 2011-07-10 21:48:10.942877501 -0500
@@ -11,7 +11,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........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,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........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,8 +27,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -37,8 +38,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -47,8 +49,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -57,8 +60,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -67,8 +71,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -77,8 +82,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+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)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -87,7 +93,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)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2011-07-10 21:42:57.377980859 -0500
+++ origin5-bz2.stderr.out 2011-07-10 21:48:10.942877501 -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........: handle_compress (origin5-bz2.c:4686)
@@ -9,7 +9,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........: handle_compress (origin5-bz2.c:4686)
@@ -17,7 +17,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........: handle_compress (origin5-bz2.c:4686)
@@ -25,7 +25,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)
@@ -36,7 +36,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)
@@ -47,7 +47,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)
@@ -58,7 +58,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)
@@ -69,7 +69,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)
@@ -80,7 +80,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)
@@ -91,7 +91,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)
@@ -102,7 +102,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-new/memcheck/tests/x86-linux/bug133694.stderr.diff
=================================================
--- bug133694.stderr.exp 2011-07-10 21:42:53.113240685 -0500
+++ bug133694.stderr.out 2011-07-10 21:48:49.254543476 -0500
@@ -0,0 +1 @@
+valgrind: ./bug133694: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/bug133694.stdout.diff
=================================================
--- bug133694.stdout.exp 2011-07-10 21:42:53.108240992 -0500
+++ bug133694.stdout.out 2011-07-10 21:48:49.233544755 -0500
@@ -1 +0,0 @@
-success
=================================================
./valgrind-new/memcheck/tests/x86-linux/int3-x86.stderr.diff
=================================================
--- int3-x86.stderr.exp 2011-07-10 21:42:53.111240806 -0500
+++ int3-x86.stderr.out 2011-07-10 21:48:49.278542014 -0500
@@ -0,0 +1 @@
+valgrind: ./int3-x86: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/int3-x86.stdout.diff
=================================================
--- int3-x86.stdout.exp 2011-07-10 21:42:53.115240565 -0500
+++ int3-x86.stdout.out 2011-07-10 21:48:49.260543110 -0500
@@ -1,3 +0,0 @@
-main
-in int_handler, EIP is ...
-PASS
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2011-07-10 21:42:53.113240685 -0500
+++ scalar.stderr.out 2011-07-10 21:48:49.303540491 -0500
@@ -1,3275 +1 @@
------------------------------------------------------
- 0:__NR_restart_syscall n/a
------------------------------------------------------
------------------------------------------------------
- 1: __NR_exit below
------------------------------------------------------
------------------------------------------------------
- 2: __NR_fork other
------------------------------------------------------
------------------------------------------------------
- 3: __NR_read 1+3s 1m
------------------------------------------------------
-Syscall param (syscallno) contains uninitialised byte(s)
- ...
-
-Syscall param read(fd) contains uninitialised byte(s)
- ...
-
-Syscall param read(buf) contains uninitialised byte(s)
- ...
-
-Syscall param read(count) contains uninitialised byte(s)
- ...
-
-Syscall param read(buf) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 4: __NR_write 3s 1m
------------------------------------------------------
-Syscall param write(fd) contains uninitialised byte(s)
- ...
-
-Syscall param write(buf) contains uninitialised byte(s)
- ...
-
-Syscall param write(count) contains uninitialised byte(s)
- ...
-
-Syscall param write(buf) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 5: __NR_open (2-args) 2s 1m
------------------------------------------------------
-Syscall param open(filename) contains uninitialised byte(s)
- ...
-
-Syscall param open(flags) contains uninitialised byte(s)
- ...
-
-Syscall param open(filename) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 5: __NR_open (3-args) 1s 0m
------------------------------------------------------
-Syscall param open(mode) contains uninitialised byte(s)
- ...
-
------------------------------------------------------
- 6: __NR_close 1s 0m
------------------------------------------------------
-Syscall param close(fd) contains uninitialised byte(s)
- ...
-
------------------------------------------------------
- 7: __NR_waitpid 3s 1m
------------------------------------------------------
-Syscall param waitpid(pid) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(status) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(options) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(status) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 8: __NR_creat 2s 1m
------------------------------------------------------
-Syscall param creat(pathname) contains uninitialised byte(s)
- ...
-
-Syscall param creat(mode) contains uninitialised byte(s)
- ...
-
-Syscall param creat(pathname) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_exit_group.stderr.diff
=================================================
--- scalar_exit_group.stderr.exp 2011-07-10 21:42:53.114240625 -0500
+++ scalar_exit_group.stderr.out 2011-07-10 21:48:49.330538846 -0500
@@ -1,6 +1 @@
------------------------------------------------------
-252: __NR_exit_group 1s 0m
------------------------------------------------------
-Syscall param exit_group(status) contains uninitialised byte(s)
- ...
-
+valgrind: ./scalar_exit_group: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_fork.stderr.diff
=================================================
--- scalar_fork.stderr.exp 2011-07-10 21:42:53.108240992 -0500
+++ scalar_fork.stderr.out 2011-07-10 21:48:49.356537262 -0500
@@ -1,3 +1 @@
------------------------------------------------------
- 2: __NR_fork 0e
------------------------------------------------------
+valgrind: ./scalar_fork: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_supp.stderr.diff
=================================================
--- scalar_supp.stderr.exp 2011-07-10 21:42:53.114240625 -0500
+++ scalar_supp.stderr.out 2011-07-10 21:48:49.380535800 -0500
@@ -1,9 +1 @@
-Syscall param (syscallno) contains uninitialised byte(s)
- ...
-
-Syscall param write(fd) contains uninitialised byte(s)
- ...
-
-Syscall param write(count) contains uninitialised byte(s)
- ...
-
+valgrind: ./scalar_supp: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_vfork.stderr.diff
=================================================
--- scalar_vfork.stderr.exp 2011-07-10 21:42:53.115240565 -0500
+++ scalar_vfork.stderr.out 2011-07-10 21:48:49.407534155 -0500
@@ -1,3 +1 @@
------------------------------------------------------
-190: __NR_vfork 0e
------------------------------------------------------
+valgrind: ./scalar_vfork: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/bug152022.stderr.diff
=================================================
--- bug152022.stderr.exp 2011-07-10 21:42:57.337983298 -0500
+++ bug152022.stderr.out 2011-07-10 21:48:48.752574058 -0500
@@ -0,0 +1 @@
+valgrind: ./bug152022: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/espindola2.stderr.diff
=================================================
--- espindola2.stderr.exp 2011-07-10 21:42:57.343982931 -0500
+++ espindola2.stderr.out 2011-07-10 21:48:48.778572474 -0500
@@ -0,0 +1 @@
+valgrind: ./espindola2: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fpeflags.stderr.diff
=================================================
--- fpeflags.stderr.exp 2011-07-10 21:42:57.345982809 -0500
+++ fpeflags.stderr.out 2011-07-10 21:48:48.802571012 -0500
@@ -0,0 +1 @@
+valgrind: ./fpeflags: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fprem.stderr.diff
=================================================
--- fprem.stderr.exp 2011-07-10 21:42:57.338983236 -0500
+++ fprem.stderr.out 2011-07-10 21:48:48.830569306 -0500
@@ -0,0 +1 @@
+valgrind: ./fprem: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fprem.stdout.diff
=================================================
--- fprem.stdout.exp 2011-07-10 21:42:57.336983360 -0500
+++ fprem.stdout.out 2011-07-10 21:48:48.808570646 -0500
@@ -1,3 +0,0 @@
-fprem 0.693147
-fprem1 0.693147
-fsincos 0.130278
=================================================
./valgrind-new/memcheck/tests/x86/fxsave.stderr.diff
=================================================
--- fxsave.stderr.exp 2011-07-10 21:42:57.346982748 -0500
+++ fxsave.stderr.out 2011-07-10 21:48:48.856567722 -0500
@@ -0,0 +1 @@
+valgrind: ./fxsave: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fxsave.stdout.diff
=================================================
--- fxsave.stdout.exp 2011-07-10 21:42:57.344982870 -0500
+++ fxsave.stdout.out 2011-07-10 21:48:48.836568940 -0500
@@ -1,104 +0,0 @@
-Re-run with any arg to suppress least-significant
- 16 bits of FP numbers
-
-BEFORE
- 0 7f 03 00 10 fc 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
- 48 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
- 64 xx xx cf fb 84 9a 20 9a fd 3f 00 00 00 00 00 00
- 80 xx xx cf d1 f7 17 72 b1 fe 3f 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
-112 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 78 56 34 12 44 33 22 11 88 77 66 55 21 43 65 87
-176 01 ef cd ab dd cc bb aa 11 00 ff ee ba dc fe 10
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 79 b9 f9 b9 99 ff 99 bb 99 77 99 bb 9b 9f 9b 97
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-400 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-416 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-432 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-448 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-464 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-480 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-496 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-
-ZEROED
- 0 7f 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 48 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 64 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 80 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-112 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-176 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-400 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-416 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-432 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-448 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-464 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-480 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-496 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-
-RESTORED
- 0 7f 03 00 10 fc 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
- 48 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
- 64 xx xx cf fb 84 9a 20 9a fd 3f 00 00 00 00 00 00
- 80 xx xx cf d1 f7 17 72 b1 fe 3f 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
-112 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 78 56 34 12 44 33 22 11 88 77 66 55 21 43 65 87
-176 01 ef cd ab dd cc bb aa 11 00 ff ee ba dc fe 10
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 79 b9 f9 b9 99 ff 99 bb 99 77 99 bb 9b 9f 9b 97
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_basic.stderr.diff
=================================================
--- insn_basic.stderr.exp 2011-07-10 21:43:09.630234402 -0500
+++ insn_basic.stderr.out 2011-07-10 21:48:48.881566199 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_basic: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_basic.stdout.diff
=================================================
--- insn_basic.stdout.exp 2011-07-10 21:43:09.644233548 -0500
+++ insn_basic.stdout.out 2011-07-10 21:48:48.862567356 -0500
@@ -1,1056 +0,0 @@
-adcb_1 ... ok
-adcb_2 ... ok
-adcb_3 ... ok
-adcb_4 ... ok
-adcb_5 ... ok
-adcb_6 ... ok
-adcb_7 ... ok
-adcb_8 ... ok
-adcb_9 ... ok
-adcb_10 ... ok
-adcb_11 ... ok
-adcb_12 ... ok
-adcw_1 ... ok
-adcw_2 ... ok
-adcw_3 ... ok
-adcw_4 ... ok
-adcw_5 ... ok
-adcw_6 ... ok
-adcw_7 ... ok
-adcw_8 ... ok
-adcw_9 ... ok
-adcw_10 ... ok
-adcw_11 ... ok
-adcw_12 ... ok
-adcw_13 ... ok
-adcw_14 ... ok
-adcl_1 ... ok
-adcl_2 ... ok
-adcl_3 ... ok
-adcl_4 ... ok
-adcl_5 ... ok
-adcl_6 ... ok
-adcl_7 ... ok
-adcl_8 ... ok
-adcl_9 ... ok
-adcl_10 ... ok
-adcl_11 ... ok
-adcl_12 ... ok
-adcl_13 ... ok
-adcl_14 ... ok
-addb_1 ... ok
-addb_2 ... ok
-addb_3 ... ok
-addb_4 ... ok
-addb_5 ... ok
-addb_6 ... ok
-addw_1 ... ok
-addw_2 ... ok
-addw_3 ... ok
-addw_4 ... ok
-addw_5 ... ok
-addw_6 ... ok
-addw_7 ... ok
-addl_1 ... ok
-addl_2 ... ok
-addl_3 ... ok
-addl_4 ... ok
-addl_5 ... ok
-addl_6 ... ok
-addl_7 ... ok
-andb_1 ... ok
-andb_2 ... ok
-andb_3 ... ok
-andb_4 ... ok
-andb_5 ... ok
-andb_6 ... ok
-andw_1 ... ok
-andw_2 ... ok
-andw_3 ... ok
-andw_4 ... ok
-andw_5 ... ok
-andw_6 ... ok
-andw_7 ... ok
-andl_1 ... ok
-andl_2 ... ok
-andl_3 ... ok
-andl_4 ... ok
-andl_5 ... ok
-andl_6 ... ok
-andl_7 ... ok
-bsfw_1 ... ok
-bsfw_2 ... ok
-bsfl_1 ... ok
-bsfl_2 ... ok
-bsrw_1 ... ok
-bsrw_2 ... ok
-bsrl_1 ... ok
-bsrl_2 ... ok
-bswapl_1 ... ok
-btw_1 ... ok
-btw_2 ... ok
-btw_3 ... ok
-btw_4 ... ok
-btw_5 ... ok
-btw_6 ... ok
-btw_7 ... ok
-btw_8 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_cmov.stderr.diff
=================================================
--- insn_cmov.stderr.exp 2011-07-10 21:43:09.629234463 -0500
+++ insn_cmov.stderr.out 2011-07-10 21:48:48.908564554 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_cmov: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_cmov.stdout.diff
=================================================
--- insn_cmov.stdout.exp 2011-07-10 21:43:09.642233670 -0500
+++ insn_cmov.stdout.out 2011-07-10 21:48:48.887565833 -0500
@@ -1,384 +0,0 @@
-cmova_1 ... ok
-cmova_2 ... ok
-cmova_3 ... ok
-cmova_4 ... ok
-cmova_5 ... ok
-cmova_6 ... ok
-cmova_7 ... ok
-cmova_8 ... ok
-cmovae_1 ... ok
-cmovae_2 ... ok
-cmovae_3 ... ok
-cmovae_4 ... ok
-cmovb_1 ... ok
-cmovb_2 ... ok
-cmovb_3 ... ok
-cmovb_4 ... ok
-cmovbe_1 ... ok
-cmovbe_2 ... ok
-cmovbe_3 ... ok
-cmovbe_4 ... ok
-cmovbe_5 ... ok
-cmovbe_6 ... ok
-cmovbe_7 ... ok
-cmovbe_8 ... ok
-cmovc_1 ... ok
-cmovc_2 ... ok
-cmovc_3 ... ok
-cmovc_4 ... ok
-cmove_1 ... ok
-cmove_2 ... ok
-cmove_3 ... ok
-cmove_4 ... ok
-cmovg_1 ... ok
-cmovg_2 ... ok
-cmovg_3 ... ok
-cmovg_4 ... ok
-cmovg_5 ... ok
-cmovg_6 ... ok
-cmovg_7 ... ok
-cmovg_8 ... ok
-cmovg_9 ... ok
-cmovg_10 ... ok
-cmovg_11 ... ok
-cmovg_12 ... ok
-cmovg_13 ... ok
-cmovg_14 ... ok
-cmovg_15 ... ok
-cmovg_16 ... ok
-cmovge_1 ... ok
-cmovge_2 ... ok
-cmovge_3 ... ok
-cmovge_4 ... ok
-cmovge_5 ... ok
-cmovge_6 ... ok
-cmovge_7 ... ok
-cmovge_8 ... ok
-cmovl_1 ... ok
-cmovl_2 ... ok
-cmovl_3 ... ok
-cmovl_4 ... ok
-cmovl_5 ... ok
-cmovl_6 ... ok
-cmovl_7 ... ok
-cmovl_8 ... ok
-cmovle_1 ... ok
-cmovle_2 ... ok
-cmovle_3 ... ok
-cmovle_4 ... ok
-cmovle_5 ... ok
-cmovle_6 ... ok
-cmovle_7 ... ok
-cmovle_8 ... ok
-cmovle_9 ... ok
-cmovle_10 ... ok
-cmovle_11 ... ok
-cmovle_12 ... ok
-cmovle_13 ... ok
-cmovle_14 ... ok
-cmovle_15 ... ok
-cmovle_16 ... ok
-cmovna_1 ... ok
-cmovna_2 ... ok
-cmovna_3 ... ok
-cmovna_4 ... ok
-cmovna_5 ... ok
-cmovna_6 ... ok
-cmovna_7 ... ok
-cmovna_8 ... ok
-cmovnae_1 ... ok
-cmovnae_2 ... ok
-cmovnae_3 ... ok
-cmovnae_4 ... ok
-cmovnb_1 ... ok
-cmovnb_2 ... ok
-cmovnb_3 ... ok
-cmovnb_4 ... ok
-cmovnbe_1 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_fpu.stderr.diff
=================================================
--- insn_fpu.stderr.exp 2011-07-10 21:43:09.635234097 -0500
+++ insn_fpu.stderr.out 2011-07-10 21:48:48.935562909 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_fpu: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_fpu.stdout.diff
=================================================
--- insn_fpu.stdout.exp 2011-07-10 21:43:09.619235073 -0500
+++ insn_fpu.stdout.out 2011-07-10 21:48:48.915564127 -0500
@@ -1,452 +0,0 @@
-fabs_1 ... ok
-fabs_2 ... ok
-fabs_3 ... ok
-fabs_4 ... ok
-fadds_1 ... ok
-fadds_2 ... ok
-fadds_3 ... ok
-fadds_4 ... ok
-faddl_1 ... ok
-faddl_2 ... ok
-faddl_3 ... ok
-faddl_4 ... ok
-fadd_1 ... ok
-fadd_2 ... ok
-fadd_3 ... ok
-fadd_4 ... ok
-fadd_5 ... ok
-fadd_6 ... ok
-fadd_7 ... ok
-fadd_8 ... ok
-fadd_9 ... ok
-fadd_10 ... ok
-fadd_11 ... ok
-fadd_12 ... ok
-fadd_13 ... ok
-fadd_14 ... ok
-fadd_15 ... ok
-fadd_16 ... ok
-faddp_1 ... ok
-faddp_2 ... ok
-faddp_3 ... ok
-faddp_4 ... ok
-faddp_5 ... ok
-faddp_6 ... ok
-faddp_7 ... ok
-faddp_8 ... ok
-faddp_9 ... ok
-faddp_10 ... ok
-faddp_11 ... ok
-faddp_12 ... ok
-faddp_13 ... ok
-faddp_14 ... ok
-faddp_15 ... ok
-faddp_16 ... ok
-fiadds_1 ... ok
-fiadds_2 ... ok
-fiadds_3 ... ok
-fiadds_4 ... ok
-fiadds_5 ... ok
-fiadds_6 ... ok
-fiadds_7 ... ok
-fiadds_8 ... ok
-fiaddl_1 ... ok
-fiaddl_2 ... ok
-fiaddl_3 ... ok
-fiaddl_4 ... ok
-fiaddl_5 ... ok
-fiaddl_6 ... ok
-fiaddl_7 ... ok
-fiaddl_8 ... ok
-fcomi_1 ... ok
-fcomi_2 ... ok
-fcomi_3 ... ok
-fcomi_4 ... ok
-fcomi_5 ... ok
-fcomi_6 ... ok
-fcomip_1 ... ok
-fcomip_2 ... ok
-fcomip_3 ... ok
-fcomip_4 ... ok
-fcomip_5 ... ok
-fcomip_6 ... ok
-fucomi_1 ... ok
-fucomi_2 ... ok
-fucomi_3 ... ok
-fucomi_4 ... ok
-fucomi_5 ... ok
-fucomi_6 ... ok
-fucomip_1 ... ok
-fucomip_2 ... ok
-fucomip_3 ... ok
-fucomip_4 ... ok
-fucomip_5 ... ok
-fucomip_6 ... ok
-fchs_1 ... ok
-fchs_2 ... ok
-fchs_3 ... ok
-fchs_4 ... ok
-fdivs_1 ... ok
-fdivs_2 ... ok
-fdivs_3 ... ok
-fdivs_4 ... ok
-fdivl_1 ... ok
-fdivl_2 ... ok
-fdivl_3 ... ok
-fdivl_4 ... ok
-fdiv_1 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_mmx.stderr.diff
=================================================
--- insn_mmx.stderr.exp 2011-07-10 21:43:09.636234036 -0500
+++ insn_mmx.stderr.out 2011-07-10 21:48:48.960561386 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_mmx: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_mmx.stdout.diff
=================================================
--- insn_mmx.stdout.exp 2011-07-10 21:43:09.621234951 -0500
+++ insn_mmx.stdout.out 2011-07-10 21:48:48.941562543 -0500
@@ -1,103 +0,0 @@
-movd_1 ... ok
-movd_2 ... ok
-movd_3 ... ok
-movd_4 ... ok
-movq_1 ... ok
-movq_2 ... ok
-movq_3 ... ok
-packssdw_1 ... ok
-packssdw_2 ... ok
-packsswb_1 ... ok
-packsswb_2 ... ok
-packuswb_1 ... ok
-packuswb_2 ... ok
-paddb_1 ... ok
-paddb_2 ... ok
-paddd_1 ... ok
-paddd_2 ... ok
-paddsb_1 ... ok
-paddsb_2 ... ok
-paddsw_1 ... ok
-paddsw_2 ... ok
-paddusb_1 ... ok
-paddusb_2 ... ok
-paddusw_1 ... ok
-paddusw_2 ... ok
-paddw_1 ... ok
-paddw_2 ... ok
-pand_1 ... ok
-pand_2 ... ok
-pandn_1 ... ok
-pandn_2 ... ok
-pcmpeqb_1 ... ok
-pcmpeqb_2 ... ok
-pcmpeqd_1 ... ok
-pcmpeqd_2 ... ok
-pcmpeqw_1 ... ok
-pcmpeqw_2 ... ok
-pcmpgtb_1 ... ok
-pcmpgtb_2 ... ok
-pcmpgtd_1 ... ok
-pcmpgtd_2 ... ok
-pcmpgtw_1 ... ok
-pcmpgtw_2 ... ok
-pmaddwd_1 ... ok
-pmaddwd_2 ... ok
-pmulhw_1 ... ok
-pmulhw_2 ... ok
-pmullw_1 ... ok
-pmullw_2 ... ok
-por_1 ... ok
-por_2 ... ok
-pslld_1 ... ok
-pslld_2 ... ok
-pslld_3 ... ok
-psllq_1 ... ok
-psllq_2 ... ok
-psllq_3 ... ok
-psllw_1 ... ok
-psllw_2 ... ok
-psllw_3 ... ok
-psrad_1 ... ok
-psrad_2 ... ok
-psrad_3 ... ok
-psraw_1 ... ok
-psraw_2 ... ok
-psraw_3 ... ok
-psrld_1 ... ok
-psrld_2 ... ok
-psrld_3 ... ok
-psrlq_1 ... ok
-psrlq_2 ... ok
-psrlq_3 ... ok
-psrlw_1 ... ok
-psrlw_2 ... ok
-psrlw_3 ... ok
-psubb_1 ... ok
-psubb_2 ... ok
-psubd_1 ... ok
-psubd_2 ... ok
-psubsb_1 ... ok
-psubsb_2 ... ok
-psubsw_1 ... ok
-psubsw_2 ... ok
-psubusb_1 ... ok
-psubusb_2 ... ok
-psubusw_1 ... ok
-psubusw_2 ... ok
-psubw_1 ... ok
-psubw_2 ... ok
-punpckhbw_1 ... ok
-punpckhbw_2 ... ok
-punpckhdq_1 ... ok
-punpckhdq_2 ... ok
-punpckhwd_1 ... ok
-punpckhwd_2 ... ok
-punpcklbw_1 ... ok
-punpcklbw_2 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse.stderr.diff
=================================================
--- insn_sse.stderr.exp 2011-07-10 21:43:09.624234768 -0500
+++ insn_sse.stderr.out 2011-07-10 21:48:48.988559680 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_sse: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse.stdout.diff
=================================================
--- insn_sse.stdout.exp 2011-07-10 21:43:09.637233975 -0500
+++ insn_sse.stdout.out 2011-07-10 21:48:48.967560959 -0500
@@ -1,154 +0,0 @@
-addps_1 ... ok
-addps_2 ... ok
-addss_1 ... ok
-addss_2 ... ok
-andnps_1 ... ok
-andnps_2 ... ok
-andps_1 ... ok
-andps_2 ... ok
-cmpeqps_1 ... ok
-cmpeqps_2 ... ok
-cmpeqss_1 ... ok
-cmpeqss_2 ... ok
-cmpleps_1 ... ok
-cmpleps_2 ... ok
-cmpless_1 ... ok
-cmpless_2 ... ok
-cmpltps_1 ... ok
-cmpltps_2 ... ok
-cmpltss_1 ... ok
-cmpltss_2 ... ok
-cmpunordps_1 ... ok
-cmpunordps_2 ... ok
-cmpunordss_1 ... ok
-cmpunordss_2 ... ok
-...
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2011-07-11 02:50:50
|
Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2011-07-11 03:30:27 BST Ended at 2011-07-11 03:50: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 == 566 tests, 8 stderr failures, 4 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2011-07-11 02:43:10
|
Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2011-07-11 03:20:55 BST Ended at 2011-07-11 03:41:48 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 566 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) drd/tests/pth_barrier3 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 566 tests, 8 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) drd/tests/pth_barrier3 (stderr) drd/tests/pth_detached2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jul 11 03:31:15 2011 --- new.short Mon Jul 11 03:41:48 2011 *************** *** 8,10 **** ! == 566 tests, 8 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) --- 8,10 ---- ! == 566 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) *************** *** 17,19 **** drd/tests/pth_barrier3 (stderr) - drd/tests/pth_detached2 (stdout) --- 17,18 ---- |
|
From: Tom H. <th...@cy...> - 2011-07-11 02:24:15
|
Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2011-07-11 03:02:03 BST Ended at 2011-07-11 03:23:53 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 580 tests, 12 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) none/tests/shell (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) drd/tests/pth_detached2 (stdout) exp-sgcheck/tests/bad_percentify (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 580 tests, 12 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) none/tests/shell (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/tc06_two_races_xml (stderr) exp-sgcheck/tests/bad_percentify (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jul 11 03:13:02 2011 --- new.short Mon Jul 11 03:23:53 2011 *************** *** 8,10 **** ! == 580 tests, 12 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) --- 8,10 ---- ! == 580 tests, 12 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) *************** *** 21,22 **** --- 21,23 ---- helgrind/tests/tc06_two_races_xml (stderr) + drd/tests/pth_detached2 (stdout) exp-sgcheck/tests/bad_percentify (stderr) |
|
From: <sv...@va...> - 2011-07-11 01:56:30
|
Author: florian
Date: 2011-07-11 02:51:39 +0100 (Mon, 11 Jul 2011)
New Revision: 11864
Log:
Valgrind-side changes to fix bug #271776.
Add testcase for s390x's STFLE instruction.
Patch provided by Divya Vyas <div...@li...>
Added:
trunk/none/tests/s390x/stfle.c
trunk/none/tests/s390x/stfle.stderr.exp
trunk/none/tests/s390x/stfle.stdout.exp
trunk/none/tests/s390x/stfle.vgtest
Modified:
trunk/NEWS
trunk/none/tests/s390x/Makefile.am
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2011-07-08 15:46:33 UTC (rev 11863)
+++ trunk/NEWS 2011-07-11 01:51:39 UTC (rev 11864)
@@ -262,7 +262,9 @@
275710 - s390x: get rid of redundant address mode calculation
+271776 - s390x: Support STFLE instruction
+
Release 3.6.1 (16 February 2011)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.6.1 is a bug fix release. It adds support for some SSE4
Modified: trunk/none/tests/s390x/Makefile.am
===================================================================
--- trunk/none/tests/s390x/Makefile.am 2011-07-08 15:46:33 UTC (rev 11863)
+++ trunk/none/tests/s390x/Makefile.am 2011-07-11 01:51:39 UTC (rev 11864)
@@ -5,7 +5,7 @@
INSN_TESTS = clc clcle cvb cvd icm lpr tcxb lam_stam xc mvst add sub mul \
and or xor insert div srst fold_And16 flogr sub_EI add_EI \
and_EI or_EI xor_EI insert_EI mul_GE add_GE condloadstore \
- op_exception fgx stck stckf stcke
+ op_exception fgx stck stckf stcke stfle
check_PROGRAMS = $(INSN_TESTS) \
ex_sig \
Added: trunk/none/tests/s390x/stfle.c
===================================================================
--- trunk/none/tests/s390x/stfle.c (rev 0)
+++ trunk/none/tests/s390x/stfle.c 2011-07-11 01:51:39 UTC (rev 11864)
@@ -0,0 +1,56 @@
+#include <stdio.h>
+
+/* Number of double words needed to store all facility bits. */
+#define S390_NUM_FACILITY_DW 2
+
+
+unsigned long long stfle(unsigned long dw, unsigned bit_to_test)
+{
+ unsigned long long hoststfle[S390_NUM_FACILITY_DW], match;
+ register unsigned long long __nr asm("0") = dw - 1;
+ int cc;
+
+ asm volatile(" .insn s,0xb2b00000,%0 \n" /* stfle */
+ "ipm %2\n"
+ "srl %2,28\n"
+ : "=m" (*hoststfle), "+d" (__nr), "=d" (cc) : : "cc", "memory");
+
+ printf("the value of cc is %d and #double words is %llu\n", cc, __nr + 1);
+ if (bit_to_test < 64)
+ match = (hoststfle[0] & (1ULL << (63 - bit_to_test)));
+ else if (bit_to_test < 128)
+ match = (hoststfle[1] & (1ULL << (63 - bit_to_test)));
+ else
+ printf("code needs to be updated\n");
+
+ return match;
+}
+
+int main()
+{
+ int dw = S390_NUM_FACILITY_DW;
+
+ /* Test #1: Make sure STFLE returns sensible values. z/Arch facilities
+ must be present. */
+ if ((stfle(dw, 1)) && stfle(dw, 2))
+ printf("The z/Architecture architectural mode is installed and active\n");
+ else
+ printf("The z/Architecture architectural mode is not installed\n");
+
+ /* Test #2: Make sure the STFLE is supported. */
+ if (stfle(dw, 7))
+ printf("STFLE facility is installed\n");
+ else
+ printf("STFLE facility is not installed\n");
+
+ /* Test #3: Tell STFLE to only write 1 DW of facility bits. Expected condition
+ code should be 3 because this test is run on those machines only
+ that need 2 do double words to store facility bits. */
+ dw = 1;
+ if ((stfle(dw, 1)) && stfle(dw, 2))
+ printf("The z/Architecture architectural mode is installed and active\n");
+ else
+ printf("The z/Architecture architectural mode is not installed\n");
+
+ return 0;
+}
Added: trunk/none/tests/s390x/stfle.stderr.exp
===================================================================
--- trunk/none/tests/s390x/stfle.stderr.exp (rev 0)
+++ trunk/none/tests/s390x/stfle.stderr.exp 2011-07-11 01:51:39 UTC (rev 11864)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/stfle.stdout.exp
===================================================================
--- trunk/none/tests/s390x/stfle.stdout.exp (rev 0)
+++ trunk/none/tests/s390x/stfle.stdout.exp 2011-07-11 01:51:39 UTC (rev 11864)
@@ -0,0 +1,8 @@
+the value of cc is 0 and #double words is 2
+the value of cc is 0 and #double words is 2
+The z/Architecture architectural mode is installed and active
+the value of cc is 0 and #double words is 2
+STFLE facility is installed
+the value of cc is 3 and #double words is 2
+the value of cc is 3 and #double words is 2
+The z/Architecture architectural mode is installed and active
Added: trunk/none/tests/s390x/stfle.vgtest
===================================================================
--- trunk/none/tests/s390x/stfle.vgtest (rev 0)
+++ trunk/none/tests/s390x/stfle.vgtest 2011-07-11 01:51:39 UTC (rev 11864)
@@ -0,0 +1,2 @@
+prog:stfle
+prereq: ../../../tests/s390x_features s390x-stfle z196
|
|
From: <sv...@va...> - 2011-07-11 01:52:53
|
Author: florian
Date: 2011-07-11 02:48:02 +0100 (Mon, 11 Jul 2011)
New Revision: 2171
Log:
Support the STFLE instruction via a dirty helper.
VEX-side changes to fix bug #271776.
Patch provided by Divya Vyas <div...@li...>
Modified:
trunk/priv/guest_s390_defs.h
trunk/priv/guest_s390_helpers.c
trunk/priv/guest_s390_toIR.c
trunk/pub/libvex_s390x_common.h
Modified: trunk/priv/guest_s390_defs.h
===================================================================
--- trunk/priv/guest_s390_defs.h 2011-07-08 15:36:59 UTC (rev 2170)
+++ trunk/priv/guest_s390_defs.h 2011-07-11 01:48:02 UTC (rev 2171)
@@ -78,8 +78,8 @@
ULong s390x_dirtyhelper_STCK(ULong *addr);
ULong s390x_dirtyhelper_STCKF(ULong *addr);
ULong s390x_dirtyhelper_STCKE(ULong *addr);
+ULong s390x_dirtyhelper_STFLE(VexGuestS390XState *guest_state, HWord addr);
-
/* The various ways to compute the condition code. */
enum {
S390_CC_OP_BITWISE = 0,
Modified: trunk/priv/guest_s390_helpers.c
===================================================================
--- trunk/priv/guest_s390_helpers.c 2011-07-08 15:36:59 UTC (rev 2170)
+++ trunk/priv/guest_s390_helpers.c 2011-07-11 01:48:02 UTC (rev 2171)
@@ -35,6 +35,7 @@
#include "libvex_guest_s390x.h"
#include "libvex_ir.h"
#include "libvex.h"
+#include "libvex_s390x_common.h"
#include "main_util.h"
#include "guest_generic_bb_to_IR.h"
@@ -278,6 +279,46 @@
#endif /* VGA_s390x */
/*------------------------------------------------------------*/
+/*--- Dirty helper for Store Facility instruction ---*/
+/*------------------------------------------------------------*/
+#if defined(VGA_s390x)
+ULong
+s390x_dirtyhelper_STFLE(VexGuestS390XState *guest_state, HWord addr)
+{
+ ULong hoststfle[S390_NUM_FACILITY_DW], cc, num_dw, i;
+ register ULong reg0 asm("0") = guest_state->guest_r0 & 0xF; /* r0[56:63] */
+
+ /* We cannot store more than S390_NUM_FACILITY_DW
+ (and it makes not much sense to do so anyhow) */
+ if (reg0 > S390_NUM_FACILITY_DW - 1)
+ reg0 = S390_NUM_FACILITY_DW - 1;
+
+ num_dw = reg0 + 1; /* number of double words written */
+
+ asm volatile(" .insn s,0xb2b00000,%0\n" /* stfle */
+ "ipm %2\n"
+ "srl %2,28\n"
+ : "=m" (hoststfle), "+d"(reg0), "=d"(cc) : : "cc", "memory");
+
+ /* Update guest register 0 with what STFLE set r0 to */
+ guest_state->guest_r0 = reg0;
+
+ for (i = 0; i < num_dw; ++i)
+ ((ULong *)addr)[i] = hoststfle[i];
+
+ return cc;
+}
+
+#else
+
+ULong
+s390x_dirtyhelper_STFLE(VexGuestS390XState *guest_state, HWord addr)
+{
+ return 3;
+}
+#endif /* VGA_s390x */
+
+/*------------------------------------------------------------*/
/*--- Helper for condition code. ---*/
/*------------------------------------------------------------*/
Modified: trunk/priv/guest_s390_toIR.c
===================================================================
--- trunk/priv/guest_s390_toIR.c 2011-07-08 15:36:59 UTC (rev 2170)
+++ trunk/priv/guest_s390_toIR.c 2011-07-11 01:48:02 UTC (rev 2171)
@@ -37,7 +37,7 @@
#include "libvex_guest_s390x.h" /* VexGuestS390XState */
#include "libvex.h" /* needed for bb_to_IR.h */
#include "libvex_guest_offsets.h" /* OFFSET_s390x_SYSNO */
-
+#include "libvex_s390x_common.h"
#include "main_util.h" /* vassert */
#include "main_globals.h" /* vex_traceflags */
#include "guest_generic_bb_to_IR.h" /* DisResult */
@@ -10558,6 +10558,35 @@
return "stcke";
}
+static HChar *
+s390_irgen_STFLE(IRTemp op2addr)
+{
+ IRDirty *d;
+ IRTemp cc = newTemp(Ity_I64);
+
+ d = unsafeIRDirty_1_N(cc, 0, "s390x_dirtyhelper_STFLE",
+ &s390x_dirtyhelper_STFLE,
+ mkIRExprVec_1(mkexpr(op2addr)));
+
+ d->needsBBP = 1; /* Need to pass pointer to guest state to helper */
+
+ d->fxState[0].fx = Ifx_Modify; /* read then write */
+ d->fxState[0].offset = S390X_GUEST_OFFSET(guest_r0);
+ d->fxState[0].size = sizeof(ULong);
+ d->nFxState = 1;
+
+ d->mAddr = mkexpr(op2addr);
+ /* Pretend all double words are written */
+ d->mSize = S390_NUM_FACILITY_DW * sizeof(ULong);
+ d->mFx = Ifx_Write;
+
+ stmt(IRStmt_Dirty(d));
+
+ s390_cc_thunk_fill(mkU64(S390_CC_OP_SET), mkexpr(cc), mkU64(0), mkU64(0));
+
+ return "stfle";
+}
+
/*------------------------------------------------------------*/
/*--- Build IR for special instructions ---*/
/*------------------------------------------------------------*/
@@ -10994,7 +11023,8 @@
case 0xb2a5: /* TRE */ goto unimplemented;
case 0xb2a6: /* CU21 */ goto unimplemented;
case 0xb2a7: /* CU12 */ goto unimplemented;
- case 0xb2b0: /* STFLE */ goto unimplemented;
+ case 0xb2b0: s390_format_S_RD(s390_irgen_STFLE, ovl.fmt.S.b2, ovl.fmt.S.d2);
+ goto ok;
case 0xb2b1: /* STFL */ goto unimplemented;
case 0xb2b2: /* LPSWE */ goto unimplemented;
case 0xb2b8: /* SRNMB */ goto unimplemented;
Modified: trunk/pub/libvex_s390x_common.h
===================================================================
--- trunk/pub/libvex_s390x_common.h 2011-07-08 15:36:59 UTC (rev 2170)
+++ trunk/pub/libvex_s390x_common.h 2011-07-11 01:48:02 UTC (rev 2171)
@@ -82,6 +82,9 @@
/* Number of arguments that can be passed in registers */
#define S390_NUM_GPRPARMS 5
+/* Number of double words needed to store all facility bits. */
+#define S390_NUM_FACILITY_DW 2
+
#endif /* __LIBVEX_PUB_S390X_H */
/*--------------------------------------------------------------------*/
|