You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(9) |
2
(19) |
|
3
(5) |
4
(20) |
5
(5) |
6
(9) |
7
(6) |
8
(8) |
9
(5) |
|
10
(5) |
11
(5) |
12
(7) |
13
(7) |
14
(6) |
15
(5) |
16
(5) |
|
17
(5) |
18
(7) |
19
(21) |
20
(9) |
21
(6) |
22
(8) |
23
(6) |
|
24
(9) |
25
(9) |
26
(8) |
27
(19) |
28
(15) |
29
(8) |
30
(5) |
|
31
(6) |
|
|
|
|
|
|
|
From: Bart V. A. <bar...@gm...> - 2008-08-02 10:20:33
|
On Fri, Aug 1, 2008 at 10:15 PM, Julian Seward <js...@ac...> wrote: > > Seems harmless enough, + I'm not really sure what the effects will > be, so commit on, and let's see what happens. One thing though: > >> - If pkg-config was installed at the time autogen.sh was run, >> ./configure will detect the presence of the Qt4 QtCore library. >> pkg-config settings can be overridden via the configure variables >> QTCORE_CFLAGS and QTCORE_LIBS (added by the pkg-config m4 macro's). > > Could you include this, or something like it, as comments, for the > benefit of future visitors to configure.in :-) OK, done. Bart. |
|
From: <sv...@va...> - 2008-08-02 10:06:31
|
Author: bart Date: 2008-08-02 11:06:40 +0100 (Sat, 02 Aug 2008) New Revision: 8504 Log: Merged trunk revisions 8481:8503 to DRDDEV branch. Modified: branches/DRDDEV/configure.in Modified: branches/DRDDEV/configure.in =================================================================== --- branches/DRDDEV/configure.in 2008-08-02 10:03:37 UTC (rev 8503) +++ branches/DRDDEV/configure.in 2008-08-02 10:06:40 UTC (rev 8504) @@ -1391,7 +1391,22 @@ AM_CONDITIONAL(BUILD_MPIWRAP_SEC, test x$ac_have_mpi2_sec = xyes) -# Has the QtCore package been installed ? +# The test below verifies whether the QtCore package been installed. +# This test works as follows: +# - If pkg-config was not installed at the time autogen.sh was run, +# the definition of the PKG_CHECK_EXISTS() macro will not be found by +# autogen.sh. Augogen.sh will generate a configure script that prints +# a warning about pkg-config and proceeds as if Qt4 has not been installed. +# - If pkg-config was installed at the time autogen.sh was run, +# the generated configure script will try to detect the presence of the +# Qt4 QtCore library by looking up compile and linker flags in the file +# called QtCore.pc. +# - pkg-config settings can be overridden via the configure variables +# QTCORE_CFLAGS and QTCORE_LIBS (added by the pkg-config m4 macro's to the +# configure script -- see also ./configure --help). +# - The QTCORE_CFLAGS and QTCORE_LIBS configure variables can be used even if +# the pkg-config executable is not present on the system on which the +# configure script is run. ifdef( [PKG_CHECK_EXISTS], |
|
From: <sv...@va...> - 2008-08-02 10:03:30
|
Author: bart
Date: 2008-08-02 11:03:37 +0100 (Sat, 02 Aug 2008)
New Revision: 8503
Log:
Added yet another Qt4 suppression pattern.
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
===================================================================
--- trunk/glibc-2.X-drd.supp 2008-08-02 09:28:39 UTC (rev 8502)
+++ trunk/glibc-2.X-drd.supp 2008-08-02 10:03:37 UTC (rev 8503)
@@ -415,3 +415,14 @@
fun:_ZN7QObjectD2Ev
fun:_ZN20QEventDispatcherGlibD0Ev
}
+{
+ libQtCore-QObjectPrivate::clearGuards(QObject*)
+ drd:ConflictingAccess
+ fun:_ZN14QReadWriteLock12lockForWriteEv
+ fun:_ZN12QWriteLocker6relockEv
+ fun:_ZN12QWriteLockerC1EP14QReadWriteLock
+ fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
+ fun:_ZN7QObjectD2Ev
+ fun:_ZN24QAbstractEventDispatcherD2Ev
+ fun:_ZN20QEventDispatcherGlibD0Ev
+}
|
|
From: <sv...@va...> - 2008-08-02 09:28:31
|
Author: bart Date: 2008-08-02 10:28:39 +0100 (Sat, 02 Aug 2008) New Revision: 8502 Log: Ensured that the qt4 regression tests compile with the pkg-config flags on all platforms. Modified: trunk/drd/tests/Makefile.am trunk/drd/tests/qt4_mutex.cpp trunk/drd/tests/qt4_rwlock.cpp trunk/drd/tests/qt4_semaphore.cpp Modified: trunk/drd/tests/Makefile.am =================================================================== --- trunk/drd/tests/Makefile.am 2008-08-02 09:08:17 UTC (rev 8501) +++ trunk/drd/tests/Makefile.am 2008-08-02 09:28:39 UTC (rev 8502) @@ -319,13 +319,16 @@ if HAVE_QTCORE qt4_mutex_SOURCES = qt4_mutex.cpp -qt4_mutex_LDADD = -lQtCore -lpthread +qt4_mutex_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS) +qt4_mutex_LDADD = $(QTCORE_LIBS) qt4_rwlock_SOURCES = qt4_rwlock.cpp -qt4_rwlock_LDADD = -lQtCore -lpthread +qt4_rwlock_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS) +qt4_rwlock_LDADD = $(QTCORE_LIBS) qt4_semaphore_SOURCES = qt4_semaphore.cpp -qt4_semaphore_LDADD = -lQtCore -lpthread +qt4_semaphore_CXXFLAGS = $(AM_CXXFLAGS) $(QTCORE_CFLAGS) +qt4_semaphore_LDADD = $(QTCORE_LIBS) endif recursive_mutex_SOURCES = recursive_mutex.c Modified: trunk/drd/tests/qt4_mutex.cpp =================================================================== --- trunk/drd/tests/qt4_mutex.cpp 2008-08-02 09:08:17 UTC (rev 8501) +++ trunk/drd/tests/qt4_mutex.cpp 2008-08-02 09:28:39 UTC (rev 8502) @@ -5,8 +5,8 @@ #endif #include "config.h" -#include <QtCore/QMutex> // class QMutex -#include <QtCore/QThread> // class QThread +#include <QMutex> // class QMutex +#include <QThread> // class QThread #include <cassert> #include <cstdio> // fprintf() #include <cstdlib> // atoi() Modified: trunk/drd/tests/qt4_rwlock.cpp =================================================================== --- trunk/drd/tests/qt4_rwlock.cpp 2008-08-02 09:08:17 UTC (rev 8501) +++ trunk/drd/tests/qt4_rwlock.cpp 2008-08-02 09:28:39 UTC (rev 8502) @@ -4,8 +4,8 @@ #define _GNU_SOURCE #endif -#include <QtCore/QThread> // class QThread -#include <QtCore/QReadWriteLock> // class QReadWriteLock +#include <QThread> // class QThread +#include <QReadWriteLock> // class QReadWriteLock #include <cstdio> // fprintf() #include <cstdlib> // atoi() #include <new> Modified: trunk/drd/tests/qt4_semaphore.cpp =================================================================== --- trunk/drd/tests/qt4_semaphore.cpp 2008-08-02 09:08:17 UTC (rev 8501) +++ trunk/drd/tests/qt4_semaphore.cpp 2008-08-02 09:28:39 UTC (rev 8502) @@ -4,8 +4,8 @@ #define _GNU_SOURCE #endif -#include <QtCore/QThread> // class QMutex -#include <QtCore/QSemaphore> // class QSemaphore +#include <QThread> // class QMutex +#include <QSemaphore> // class QSemaphore #include <cstdio> // fprintf() #include <cstdlib> // atoi() #include <new> |
|
From: <sv...@va...> - 2008-08-02 09:08:08
|
Author: bart
Date: 2008-08-02 10:08:17 +0100 (Sat, 02 Aug 2008)
New Revision: 8501
Log:
Qt4 detection test is now based on pkg-config. Qt4 QMutex::tryLock(int) test now uses proper Qt4 compiler flags.
Modified:
trunk/configure.in
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2008-08-02 08:17:35 UTC (rev 8500)
+++ trunk/configure.in 2008-08-02 09:08:17 UTC (rev 8501)
@@ -1251,15 +1251,6 @@
sys/types.h \
])
-# Checks for C++ header files.
-AC_LANG(C++)
-AC_CHECK_HEADERS([ \
- QtCore/QMutex \
- QtCore/QSemaphore \
- QtCore/QThread \
- ])
-AC_LANG(C)
-
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
AC_TYPE_OFF_T
@@ -1273,7 +1264,6 @@
AC_TYPE_SIGNAL
AC_CHECK_LIB([rt], [clock_gettime])
-AC_CHECK_LIB([QtCore], [_ZN6QMutex4lockEv]) # QMutex::lock()
AC_CHECK_FUNCS([ \
clock_gettime\
@@ -1401,27 +1391,41 @@
AM_CONDITIONAL(BUILD_MPIWRAP_SEC, test x$ac_have_mpi2_sec = xyes)
-# does this compiler have the include file <Qt/qmutex.h> and does it have
-# libQtCore.so ?
+# The test below verifies whether the QtCore package been installed.
+# This test works as follows:
+# - If pkg-config was not installed at the time autogen.sh was run,
+# the definition of the PKG_CHECK_EXISTS() macro will not be found by
+# autogen.sh. Augogen.sh will generate a configure script that prints
+# a warning about pkg-config and proceeds as if Qt4 has not been installed.
+# - If pkg-config was installed at the time autogen.sh was run,
+# the generated configure script will try to detect the presence of the
+# Qt4 QtCore library by looking up compile and linker flags in the file
+# called QtCore.pc.
+# - pkg-config settings can be overridden via the configure variables
+# QTCORE_CFLAGS and QTCORE_LIBS (added by the pkg-config m4 macro's to the
+# configure script -- see also ./configure --help).
+# - The QTCORE_CFLAGS and QTCORE_LIBS configure variables can be used even if
+# the pkg-config executable is not present on the system on which the
+# configure script is run.
-AC_MSG_CHECKING([for Qt4 core library])
+ifdef(
+ [PKG_CHECK_EXISTS],
+ [PKG_CHECK_EXISTS(
+ [QtCore],
+ [
+ PKG_CHECK_MODULES([QTCORE], [QtCore])
+ ac_have_qtcore=yes
+ ],
+ [
+ ac_have_qtcore=no
+ ]
+ )
+ ],
+ AC_MSG_WARN([pkg-config has not been installed or is too old.])
+ AC_MSG_WARN([Detection of Qt4 will be skipped.])
+ [ac_have_qtcore=no]
+)
-AC_TRY_COMPILE([ ],
-[
-#if ! defined(HAVE_LIBQTCORE) || ! defined(HAVE_QTCORE_QMUTEX)
-#error Qt4 not supported.
-#endif
- return 0;
-],
-[
- ac_have_qtcore=yes
- AC_MSG_RESULT([yes])
-],
-[
- ac_have_qtcore=no
- AC_MSG_RESULT([no])
-])
-
AM_CONDITIONAL([HAVE_QTCORE], [test x$ac_have_qtcore = xyes])
@@ -1430,6 +1434,8 @@
if test x$ac_have_qtcore = xyes; then
AC_MSG_CHECKING([for Qt4 QMutex::tryLock(int)])
AC_LANG(C++)
+ safe_CXXFLAGS="${CXXFLAGS}"
+ CXXFLAGS="${pkg_cv_QTCORE_CFLAGS}"
AC_TRY_COMPILE([
#include <QtCore/QMutex>
],
@@ -1446,6 +1452,7 @@
[
AC_MSG_RESULT([no])
])
+ CXXFLAGS="${safe_CXXFLAGS}"
AC_LANG(C)
fi
|
|
From: <sv...@va...> - 2008-08-02 08:17:27
|
Author: sewardj
Date: 2008-08-02 09:17:35 +0100 (Sat, 02 Aug 2008)
New Revision: 8500
Log:
Enable syscall parameter checking.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
branches/PTRCHECK/exp-ptrcheck/tests/syscall.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-02 07:07:43 UTC (rev 8499)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-02 08:17:35 UTC (rev 8500)
@@ -377,6 +377,7 @@
//zz }
//zz #endif
+
/*------------------------------------------------------------*/
/*--- Shadow memory ---*/
/*------------------------------------------------------------*/
@@ -621,18 +622,15 @@
sm->vseg[sm_off] = vseg;
}
-//zz // Returns UNKNOWN if no matches. Never returns BOTTOM or NONPTR.
-//zz static Seg get_mem_aseg( Addr a )
-//zz {
-//zz Seg aseg;
-//zz Bool is_found;
-//zz
-//zz VGP_PUSHCC(VgpGetMemAseg);
-//zz is_found = ISList__findI( seglist, a, &aseg );
-//zz VGP_POPCC(VgpGetMemAseg);
-//zz return ( is_found ? aseg : UNKNOWN );
-//zz }
+// Returns UNKNOWN if no matches. Never returns BOTTOM or NONPTR.
+static Seg get_mem_aseg( Addr a )
+{
+ Seg aseg;
+ Bool is_found = ISList__findI( seglist, a, &aseg );
+ return ( is_found ? aseg : UNKNOWN );
+}
+
/*--------------------------------------------------------------------*/
/*--- Error handling ---*/
/*--------------------------------------------------------------------*/
@@ -689,7 +687,6 @@
}
SysParamExtra;
-//zz static UInt actual_arg1, actual_arg2/*, actual_res*/;
static
void record_loadstore_error( Addr a, UInt size, Seg vseg, Bool is_write )
@@ -713,15 +710,15 @@
/*a*/0, /*str*/NULL, /*extra*/(void*)&extra);
}
-//zz static void record_sysparam_error( ThreadId tid, CorePart part, Char* s,
-//zz Addr lo, Addr hi, Seg seglo, Seg seghi )
-//zz {
-//zz SysParamExtra extra = {
-//zz .part = part, .lo = lo, .hi = hi, .seglo = seglo, .seghi = seghi
-//zz };
-//zz VG_(maybe_record_error)( tid, SysParamErr, /*a*/(Addr)0, /*str*/s,
-//zz /*extra*/(void*)&extra);
-//zz }
+static void record_sysparam_error( ThreadId tid, CorePart part, Char* s,
+ Addr lo, Addr hi, Seg seglo, Seg seghi )
+{
+ SysParamExtra extra = {
+ .part = part, .lo = lo, .hi = hi, .seglo = seglo, .seghi = seghi
+ };
+ VG_(maybe_record_error)( tid, SysParamErr, /*a*/(Addr)0, /*str*/s,
+ /*extra*/(void*)&extra);
+}
static Bool eq_Error ( VgRes res, Error* e1, Error* e2 )
{
@@ -854,62 +851,62 @@
break;
}
-//zz //----------------------------------------------------------
-//zz case SysParamErr: {
-//zz SysParamExtra* extra = (SysParamExtra*)VG_(get_error_extra)(err);
-//zz Addr lo = extra->lo;
-//zz Addr hi = extra->hi;
-//zz Seg seglo = extra->seglo;
-//zz Seg seghi = extra->seghi;
-//zz Char* s = VG_(get_error_string) (err);
-//zz Char* what;
-//zz
-//zz sk_assert(BOTTOM != seglo && BOTTOM != seghi);
-//zz
-//zz if (Vg_CoreSysCall == extra->part) what = "Syscall param ";
-//zz else if (Vg_CorePThread == extra->part) what = "";
-//zz else VG_(skin_panic)("bad CorePart");
-//zz
-//zz if (seglo == seghi) {
-//zz // freed block
-//zz sk_assert(is_known_segment(seglo) && Seg__is_freed(seglo));
-//zz VG_(message)(Vg_UserMsg, "%s%s contains unaddressable byte(s)", what, s);
-//zz VG_(pp_ExeContext)( VG_(get_error_where)(err) );
-//zz
-//zz VG_(message)(Vg_UserMsg, "Address %p is %d bytes within a "
-//zz "%d-byte block %s",
-//zz lo, lo-Seg__a(seglo), Seg__size(seglo),
-//zz Seg__status_str(seglo) );
-//zz VG_(pp_ExeContext)(Seg__where(seglo));
-//zz
-//zz } else {
-//zz // mismatch
-//zz VG_(message)(Vg_UserMsg, "%s%s is non-contiguous", what, s);
-//zz VG_(pp_ExeContext)( VG_(get_error_where)(err) );
-//zz
-//zz if (UNKNOWN == seglo) {
-//zz VG_(message)(Vg_UserMsg, "First byte is not within a known block");
-//zz } else {
-//zz VG_(message)(Vg_UserMsg, "First byte (%p) is %d bytes within a "
-//zz "%d-byte block %s",
-//zz lo, lo-Seg__a(seglo), Seg__size(seglo),
-//zz Seg__status_str(seglo) );
-//zz VG_(pp_ExeContext)(Seg__where(seglo));
-//zz }
-//zz
-//zz if (UNKNOWN == seghi) {
-//zz VG_(message)(Vg_UserMsg, "Last byte is not within a known block");
-//zz } else {
-//zz VG_(message)(Vg_UserMsg, "Last byte (%p) is %d bytes within a "
-//zz "%d-byte block %s",
-//zz hi, hi-Seg__a(seghi), Seg__size(seghi),
-//zz Seg__status_str(seghi));
-//zz VG_(pp_ExeContext)(Seg__where(seghi));
-//zz }
-//zz }
-//zz break;
-//zz }
+ //----------------------------------------------------------
+ case SysParamErr: {
+ SysParamExtra* extra = (SysParamExtra*)VG_(get_error_extra)(err);
+ Addr lo = extra->lo;
+ Addr hi = extra->hi;
+ Seg seglo = extra->seglo;
+ Seg seghi = extra->seghi;
+ Char* s = VG_(get_error_string) (err);
+ Char* what;
+ tl_assert(BOTTOM != seglo && BOTTOM != seghi);
+
+ if (Vg_CoreSysCall == extra->part) what = "Syscall param ";
+ else VG_(tool_panic)("bad CorePart");
+
+ if (seglo == seghi) {
+ // freed block
+ tl_assert(is_known_segment(seglo) && Seg__is_freed(seglo));
+ VG_(message)(Vg_UserMsg, "%s%s contains unaddressable byte(s)",
+ what, s);
+ VG_(pp_ExeContext)( VG_(get_error_where)(err) );
+
+ VG_(message)(Vg_UserMsg, " Address %p is %ld bytes inside a "
+ "%ld-byte block %s",
+ lo, lo-Seg__a(seglo), Seg__size(seglo),
+ Seg__status_str(seglo) );
+ VG_(pp_ExeContext)(Seg__where(seglo));
+
+ } else {
+ // mismatch
+ VG_(message)(Vg_UserMsg, "%s%s is non-contiguous", what, s);
+ VG_(pp_ExeContext)( VG_(get_error_where)(err) );
+
+ if (UNKNOWN == seglo) {
+ VG_(message)(Vg_UserMsg, " First byte is not inside a known block");
+ } else {
+ VG_(message)(Vg_UserMsg, " First byte (%p) is %ld bytes inside a "
+ "%ld-byte block %s",
+ lo, lo-Seg__a(seglo), Seg__size(seglo),
+ Seg__status_str(seglo) );
+ VG_(pp_ExeContext)(Seg__where(seglo));
+ }
+
+ if (UNKNOWN == seghi) {
+ VG_(message)(Vg_UserMsg, " Last byte is not inside a known block");
+ } else {
+ VG_(message)(Vg_UserMsg, " Last byte (%p) is %ld bytes inside a "
+ "%ld-byte block %s",
+ hi, hi-Seg__a(seghi), Seg__size(seghi),
+ Seg__status_str(seghi));
+ VG_(pp_ExeContext)(Seg__where(seghi));
+ }
+ }
+ break;
+ }
+
default:
VG_(tool_panic)("pp_Error: unrecognised error kind");
}
@@ -1011,6 +1008,7 @@
}
}
+
/*------------------------------------------------------------*/
/*--- malloc() et al replacements ---*/
/*------------------------------------------------------------*/
@@ -1121,6 +1119,7 @@
}
}
+
/*------------------------------------------------------------*/
/*--- Memory events ---*/
/*------------------------------------------------------------*/
@@ -1264,68 +1263,68 @@
// handle_free_munmap( (void*)a, len );
}
-//zz // Don't need to check all addresses within the block; in the absence of
-//zz // discontiguous segments, the segments for the first and last bytes should
-//zz // be the same. Can't easily check the pointer segment matches the block
-//zz // segment, unfortunately, but the first/last check should catch most
-//zz // errors.
-//zz static void pre_mem_access2 ( CorePart part, ThreadId tid, Char* s,
-//zz Addr lo, Addr hi )
-//zz {
-//zz Seg seglo, seghi;
-//zz
-//zz // Don't check code being translated -- very slow, and not much point
-//zz if (Vg_CoreTranslate == part) return;
-//zz
-//zz // Don't check the signal case -- only happens in core, no need to check
-//zz if (Vg_CoreSignal == part) return;
-//zz
-//zz // Check first and last bytes match
-//zz seglo = get_mem_aseg( lo );
-//zz seghi = get_mem_aseg( hi );
-//zz sk_assert( BOTTOM != seglo && NONPTR != seglo );
-//zz sk_assert( BOTTOM != seghi && NONPTR != seghi );
-//zz
-//zz if ( seglo != seghi || (UNKNOWN != seglo && Seg__is_freed(seglo)) ) {
-//zz // First/last bytes don't match, or seg has been freed.
-//zz switch (part) {
-//zz case Vg_CoreSysCall:
-//zz case Vg_CorePThread:
-//zz record_sysparam_error(tid, part, s, lo, hi, seglo, seghi);
-//zz break;
-//zz
-//zz default:
-//zz VG_(printf)("part = %d\n", part);
-//zz VG_(skin_panic)("unknown corepart in pre_mem_access2");
-//zz }
-//zz }
-//zz }
-//zz
-//zz static void pre_mem_access ( CorePart part, ThreadId tid, Char* s,
-//zz Addr base, UInt size )
-//zz {
-//zz pre_mem_access2( part, tid, s, base, base + size - 1 );
-//zz }
-//zz
-//zz static
-//zz void pre_mem_read_asciiz ( CorePart part, ThreadId tid, Char* s, Addr lo )
-//zz {
-//zz Addr hi = lo;
-//zz
-//zz // Nb: the '\0' must be included in the lo...hi range
-//zz while ('\0' != *(Char*)hi) hi++;
-//zz pre_mem_access2( part, tid, s, lo, hi );
-//zz }
-//zz
+// Don't need to check all addresses within the block; in the absence of
+// discontiguous segments, the segments for the first and last bytes should
+// be the same. Can't easily check the pointer segment matches the block
+// segment, unfortunately, but the first/last check should catch most
+// errors.
+static void pre_mem_access2 ( CorePart part, ThreadId tid, Char* s,
+ Addr lo, Addr hi )
+{
+ Seg seglo, seghi;
+
+ // Don't check code being translated -- very slow, and not much point
+ if (Vg_CoreTranslate == part) return;
+
+ // Don't check the signal case -- only happens in core, no need to check
+ if (Vg_CoreSignal == part) return;
+
+ // Check first and last bytes match
+ seglo = get_mem_aseg( lo );
+ seghi = get_mem_aseg( hi );
+ tl_assert( BOTTOM != seglo && NONPTR != seglo );
+ tl_assert( BOTTOM != seghi && NONPTR != seghi );
+
+ if ( seglo != seghi || (UNKNOWN != seglo && Seg__is_freed(seglo)) ) {
+ // First/last bytes don't match, or seg has been freed.
+ switch (part) {
+ case Vg_CoreSysCall:
+ record_sysparam_error(tid, part, s, lo, hi, seglo, seghi);
+ break;
+
+ default:
+ VG_(printf)("part = %d\n", part);
+ VG_(tool_panic)("unknown corepart in pre_mem_access2");
+ }
+ }
+}
+
+static void pre_mem_access ( CorePart part, ThreadId tid, Char* s,
+ Addr base, SizeT size )
+{
+ pre_mem_access2( part, tid, s, base, base + size - 1 );
+}
+
+static
+void pre_mem_read_asciiz ( CorePart part, ThreadId tid, Char* s, Addr lo )
+{
+ Addr hi = lo;
+
+ // Nb: the '\0' must be included in the lo...hi range
+ while ('\0' != *(Char*)hi) hi++;
+ pre_mem_access2( part, tid, s, lo, hi );
+}
+
//zz static void post_mem_write(Addr a, UInt len)
//zz {
//zz set_mem_unknown(a, len);
//zz }
-//zz
-//zz /*------------------------------------------------------------*/
-//zz /*--- Register event handlers ---*/
-//zz /*------------------------------------------------------------*/
-//zz
+
+
+/*------------------------------------------------------------*/
+/*--- Register event handlers ---*/
+/*------------------------------------------------------------*/
+
//zz static void post_regs_write_init ( void )
//zz {
//zz UInt i;
@@ -2168,7 +2167,6 @@
}
-
//zz /*--------------------------------------------------------------------*/
//zz /*--- Sanity checking ---*/
//zz /*--------------------------------------------------------------------*/
@@ -2203,6 +2201,7 @@
//zz return True;
//zz }
+
/*--------------------------------------------------------------------*/
/*--- System calls ---*/
/*--------------------------------------------------------------------*/
@@ -2483,6 +2482,7 @@
}
}
+
/*--------------------------------------------------------------------*/
/*--- Functions called from generated code ---*/
/*--------------------------------------------------------------------*/
@@ -2588,7 +2588,7 @@
/* m falls inside 'seg' (that is, we are making a memory
reference inside 'seg'). Now, really mptr_vseg should be
a tracked segment of some description. Badness is when
- mptr_vsrg is UNKNOWN, BOTTOM or NONPTR at this point,
+ mptr_vseg is UNKNOWN, BOTTOM or NONPTR at this point,
since that means we've lost the type of it somehow: it
shoud say that m points into a real segment (preferable
'seg'), but it doesn't. */
@@ -2790,8 +2790,14 @@
/* On 32 bit targets, we will use:
check_store1 check_store2 check_store4_P
+ check_store4 (for 32-bit nonpointer stores)
+ check_store8_ms4B_ls4B (for 64-bit stores)
+ check_store16_ms4B_4B_4B_ls4B (for xmm/altivec stores)
+
On 64 bit targets, we will use:
check_store1 check_store2 check_store4 check_store8_P
+ check_store8_all8B (for 64-bit nonpointer stores)
+ check_store16_ms8B_ls8B (for xmm/altivec stores)
A "_P" handler writes a pointer to memory, and so has an extra
argument -- the pointer's shadow value. That implies that
@@ -4684,10 +4690,10 @@
//zz VG_(track_die_mem_stack_signal) ( NULL );
//zz VG_(track_die_mem_brk) ( die_mem_brk );
VG_(track_die_mem_munmap) ( die_mem_munmap );
-//zz
-//zz VG_(track_pre_mem_read) ( pre_mem_access );
-//zz VG_(track_pre_mem_read_asciiz) ( pre_mem_read_asciiz );
-//zz VG_(track_pre_mem_write) ( pre_mem_access );
+
+ VG_(track_pre_mem_read) ( pre_mem_access );
+ VG_(track_pre_mem_read_asciiz) ( pre_mem_read_asciiz );
+ VG_(track_pre_mem_write) ( pre_mem_access );
//zz VG_(track_post_mem_write) ( post_mem_write );
// Register events to track
Modified: branches/PTRCHECK/exp-ptrcheck/tests/syscall.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/syscall.c 2008-08-02 07:07:43 UTC (rev 8499)
+++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.c 2008-08-02 08:17:35 UTC (rev 8500)
@@ -10,11 +10,24 @@
// Therefore, if I don't want the write errors to be merged, I have to
// ensure they have a different stack trace. I do this by using this
// function. Weird.
+__attribute__((noinline))
void mywrite(char* buf, int len)
{
write(-1, buf, len);
}
+__attribute__((noinline))
+void mygetitimer(long arg1, struct itimerval* itval)
+{
+ getitimer(arg1, itval);
+}
+
+__attribute__((noinline))
+void myopen(char* name, long flags)
+{
+ open(name, flags);
+}
+
int main(void)
{
char *buf = malloc(sizeof(char)*6), *buf2 = malloc(sizeof(char)*6);
@@ -32,9 +45,9 @@
mywrite(buf+3, 5); // error (read)
mywrite(buf-1, 5); // error (read)
mywrite(buf+1, diff); // error (read)
- open(buf+3, 0x0); // error (read_asciiz)
+ myopen(buf+3, 0x0); // error (read_asciiz)
- getitimer(0, itval); // error (write)
+ mygetitimer(0, itval); // error (write)
//----
free(buf);
|
|
From: <sv...@va...> - 2008-08-02 07:07:34
|
Author: sewardj Date: 2008-08-02 08:07:43 +0100 (Sat, 02 Aug 2008) New Revision: 8499 Log: Delete even more files that should not have been committed. Removed: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/sh_script.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/sh_script.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/suppgen.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/suppgen.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/xor.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/xor.stderr.out Deleted: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,35 +0,0 @@ -6,9c6,7 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 40-byte block alloc'd ---- -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 40 alloc'd -12,13d9 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -22,24c18 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -29,31c23 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -36,38c28 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -43,45c33 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block Deleted: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,35 +0,0 @@ - -about to do 14 [0] -about to do 14 [-1] -Invalid read of size 4 - at 0x........: main (base.c:14) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 40 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) -about to do 16 [0] -about to do 16 [-1] -about to do 18 [0] -about to do 18 [-1] -about to do 20 [0] - -Invalid read of size 4 - at 0x........: main (base.c:20) - Address 0x........ is not derived from any known block -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (base.c:20) - Address 0x........ is not derived from any known block -about to do 22 [0] - -Invalid read of size 4 - at 0x........: main (base.c:22) - Address 0x........ is not derived from any known block -about to do 22 [-1] - -Invalid read of size 4 - at 0x........: main (base.c:22) - Address 0x........ is not derived from any known block - -ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,45 +0,0 @@ - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: operator new(unsigned) (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:9) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:8) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: calloc (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:11) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: memalign (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:12) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 40 alloc'd - at 0x........: operator new[](unsigned) (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:10) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: memalign (vg_replace_malloc.c:...) - by 0x........: posix_memalign (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:14) - -ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,71 +0,0 @@ -2,44c2,25 -< Invalid read of size 8 -< at 0x........: main (fp.c:13) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 8-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (fp.c:11) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid write of size 8 -< at 0x........: main (fp.c:13) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 8-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (fp.c:11) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (fp.c:14) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 4-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (fp.c:12) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid write of size 4 -< at 0x........: main (fp.c:14) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 4-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (fp.c:12) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... ---- -> F64 -> exp-ptrcheck: pc_main.c:3627 (schemeS): the 'impossible' happened. -> at 0x........: report_and_quit (m_libcassert.c:140) -> by 0x........: vgPlain_assert_fail (m_libcassert.c:205) -> by 0x........: pc_instrument (pc_main.c:3627) -> by 0x........: LibVEX_Translate (vex_main.c:500) -> by 0x........: vgPlain_translate (m_translate.c:1503) -> by 0x........: vgPlain_scheduler (scheduler.c:796) -> by 0x........: run_a_thread_NORETURN (syswrap-linux.c:89) -> -> sched status: -> running_tid=1 -> -> Thread 1: status = VgTs_Runnable -> at 0x........: main (fp.c:7) -> -> -> Note: see also the FAQ.txt in the source distribution. -> It contains workarounds to several common problems. -> -> If that doesn't help, please report this bug to: nj...@va... -> -> In the bug report, send all the above text, the valgrind -> version, and what Linux distro you are using. Thanks. -46d26 -< ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,26 +0,0 @@ - -F64 -exp-ptrcheck: pc_main.c:3627 (schemeS): the 'impossible' happened. - at 0x........: report_and_quit (m_libcassert.c:140) - by 0x........: vgPlain_assert_fail (m_libcassert.c:205) - by 0x........: pc_instrument (pc_main.c:3627) - by 0x........: LibVEX_Translate (vex_main.c:500) - by 0x........: vgPlain_translate (m_translate.c:1503) - by 0x........: vgPlain_scheduler (scheduler.c:796) - by 0x........: run_a_thread_NORETURN (syswrap-linux.c:89) - -sched status: - running_tid=1 - -Thread 1: status = VgTs_Runnable - at 0x........: main (fp.c:7) - - -Note: see also the FAQ.txt in the source distribution. -It contains workarounds to several common problems. - -If that doesn't help, please report this bug to: nj...@va... - -In the bug report, send all the above text, the valgrind -version, and what Linux distro you are using. Thanks. - Deleted: branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,22 +0,0 @@ -4,7c4,5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes after the accessing pointer's -< legitimate range, the 400-byte block alloc'd ---- -> Address 0x........ is 0 bytes after the accessing pointer's -> legitimate range, a block of size 400 alloc'd -10,11d7 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -15,18c11,12 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 400-byte block alloc'd ---- -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 400 alloc'd -21,22d14 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... Deleted: branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,16 +0,0 @@ - -Invalid read of size 4 - at 0x........: main (hp_bounds.c:9) - Address 0x........ is 0 bytes after the accessing pointer's - legitimate range, a block of size 400 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (hp_bounds.c:6) - -Invalid read of size 4 - at 0x........: main (hp_bounds.c:10) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 400 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (hp_bounds.c:6) - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,20 +0,0 @@ -4,7c4,5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 20 bytes inside the accessing pointer's -< once-legitimate range, the 400-byte block free'd ---- -> Address 0x........ is 20 bytes inside the accessing pointer's -> once-legitimate range, a block of size 400 free'd -11d8 -< by 0x........: __libc_start_main (...libc...) -15,18c12,13 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< once-legitimate range, the 400-byte block free'd ---- -> Address 0x........ is 4 bytes before the accessing pointer's -> once-legitimate range, a block of size 400 free'd -22d16 -< by 0x........: __libc_start_main (...libc...) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,18 +0,0 @@ - -Invalid read of size 4 - at 0x........: main (hp_dangle.c:17) - Address 0x........ is 20 bytes inside the accessing pointer's - once-legitimate range, a block of size 400 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: mk_dangle (hp_dangle.c:7) - by 0x........: main (hp_dangle.c:15) - -Doubly-invalid read of size 4 - at 0x........: main (hp_dangle.c:18) - Address 0x........ is 4 bytes before the accessing pointer's - once-legitimate range, a block of size 400 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: mk_dangle (hp_dangle.c:7) - by 0x........: main (hp_dangle.c:15) - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,245 +0,0 @@ -5,7c5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -12,25c10 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -< -< Invalid IDIV -< at 0x........: main (idiv.c:16) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg not a pointer -< Second arg derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith_include2.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... ---- -> Address 0x........ is not derived from any known block -30,32c15 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -37,39c20 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -41,46d21 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:18) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -48,63d22 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:18) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -< -< Invalid IDIV -< at 0x........: main (idiv.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith_include2.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -68,70c27 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -75,77c32 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -82,84c37 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -89,91c42 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -96,98c47 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -103,105c52 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -107,112d53 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:25) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -114,119d54 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:25) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -121,126d55 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:26) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -128,133d56 -< -< Invalid read of size 4 -< at 0x........: main (idiv.c:26) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -138,140c61 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -145,147c66 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -152,154c71 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -159,161c76 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -166,168c81 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -173,175c86 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -180,182c91 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -187,200c96 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -< -< Invalid IDIV -< at 0x........: main (idiv.c:33) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg may be a pointer -< Second arg derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith_include2.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... ---- -> Address 0x........ is not derived from any known block -205,207c101 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -212,225c106 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -< -< Invalid IDIV -< at 0x........: main (idiv.c:34) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg may be a pointer -< Second arg derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith_include2.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... ---- -> Address 0x........ is not derived from any known block -230,232c111 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -237,239c116 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -244,246c121 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -251,253c126 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -258,260c131 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -265,267c136 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -269c138 -< ERROR SUMMARY: 36 errors from 36 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 26 errors from 26 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/idiv.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,138 +0,0 @@ - -about to do 14 [0] -Invalid read of size 4 - at 0x........: main (idiv.c:14) - Address 0x........ is not derived from any known block -about to do 14 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:14) - Address 0x........ is not derived from any known block -about to do 16 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:16) - Address 0x........ is not derived from any known block -about to do 16 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:16) - Address 0x........ is not derived from any known block -about to do 18 [0] -about to do 18 [-1] -about to do 20 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:20) - Address 0x........ is not derived from any known block -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:20) - Address 0x........ is not derived from any known block -about to do 22 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:22) - Address 0x........ is not derived from any known block -about to do 22 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:22) - Address 0x........ is not derived from any known block -about to do 23 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:23) - Address 0x........ is not derived from any known block -about to do 23 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:23) - Address 0x........ is not derived from any known block -about to do 25 [0] -about to do 25 [-1] -about to do 26 [0] -about to do 26 [-1] -about to do 28 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:28) - Address 0x........ is not derived from any known block -about to do 28 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:28) - Address 0x........ is not derived from any known block -about to do 29 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:29) - Address 0x........ is not derived from any known block -about to do 29 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:29) - Address 0x........ is not derived from any known block -about to do 30 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:30) - Address 0x........ is not derived from any known block -about to do 30 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:30) - Address 0x........ is not derived from any known block -about to do 31 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:31) - Address 0x........ is not derived from any known block -about to do 31 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:31) - Address 0x........ is not derived from any known block -about to do 33 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:33) - Address 0x........ is not derived from any known block -about to do 33 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:33) - Address 0x........ is not derived from any known block -about to do 34 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:34) - Address 0x........ is not derived from any known block -about to do 34 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:34) - Address 0x........ is not derived from any known block -about to do 36 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:36) - Address 0x........ is not derived from any known block -about to do 36 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:36) - Address 0x........ is not derived from any known block -about to do 37 [0] - -Invalid read of size 4 - at 0x........: main (idiv.c:37) - Address 0x........ is not derived from any known block -about to do 37 [-1] - -Invalid read of size 4 - at 0x........: main (idiv.c:37) - Address 0x........ is not derived from any known block - -ERROR SUMMARY: 26 errors from 26 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,211 +0,0 @@ -5,7c5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -12,14c10 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -19,21c15 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -26,28c20 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -33,35c25 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -40,42c30 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -44c32 -< Invalid IMUL ---- -> Invalid arguments to Mul32/Mul64 -46,48c34 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd ---- -> Both args derived from address 0x........ of 40-byte block alloc'd -51,52d36 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -57,59c41 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -64,66c46 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -71,73c51 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -78,80c56 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -85,87c61 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -92,94c66 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -99,101c71 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -106,108c76 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -113,115c81 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -120,122c86 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -127,129c91 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -134,136c96 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -141,143c101 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -148,150c106 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -155,157c111 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -162,164c116 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -166,171d117 -< -< Invalid read of size 4 -< at 0x........: main (imul.c:31) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -173,178d118 -< -< Invalid read of size 4 -< at 0x........: main (imul.c:31) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -183,185c123 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -190,192c128 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -197,199c133 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -204,206c138 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -211,213c143 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -218,220c148 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -225,227c153 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -232,234c158 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -236c160 -< ERROR SUMMARY: 33 errors from 33 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 31 errors from 31 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/imul.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,160 +0,0 @@ - -about to do 14 [0] -Invalid read of size 4 - at 0x........: main (imul.c:14) - Address 0x........ is not derived from any known block -about to do 14 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:14) - Address 0x........ is not derived from any known block -about to do 16 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:16) - Address 0x........ is not derived from any known block -about to do 16 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:16) - Address 0x........ is not derived from any known block -about to do 18 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:18) - Address 0x........ is not derived from any known block -about to do 18 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:18) - Address 0x........ is not derived from any known block - -Invalid arguments to Mul32/Mul64 - at 0x........: main (imul.c:20) - Both args derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) -about to do 20 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:20) - Address 0x........ is not derived from any known block -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:20) - Address 0x........ is not derived from any known block -about to do 22 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:22) - Address 0x........ is not derived from any known block -about to do 22 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:22) - Address 0x........ is not derived from any known block -about to do 23 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:23) - Address 0x........ is not derived from any known block -about to do 23 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:23) - Address 0x........ is not derived from any known block -about to do 25 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:25) - Address 0x........ is not derived from any known block -about to do 25 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:25) - Address 0x........ is not derived from any known block -about to do 26 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:26) - Address 0x........ is not derived from any known block -about to do 26 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:26) - Address 0x........ is not derived from any known block -about to do 28 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:28) - Address 0x........ is not derived from any known block -about to do 28 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:28) - Address 0x........ is not derived from any known block -about to do 29 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:29) - Address 0x........ is not derived from any known block -about to do 29 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:29) - Address 0x........ is not derived from any known block -about to do 30 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:30) - Address 0x........ is not derived from any known block -about to do 30 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:30) - Address 0x........ is not derived from any known block -about to do 31 [0] -about to do 31 [-1] -about to do 33 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:33) - Address 0x........ is not derived from any known block -about to do 33 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:33) - Address 0x........ is not derived from any known block -about to do 34 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:34) - Address 0x........ is not derived from any known block -about to do 34 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:34) - Address 0x........ is not derived from any known block -about to do 36 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:36) - Address 0x........ is not derived from any known block -about to do 36 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:36) - Address 0x........ is not derived from any known block -about to do 37 [0] - -Invalid read of size 4 - at 0x........: main (imul.c:37) - Address 0x........ is not derived from any known block -about to do 37 [-1] - -Invalid read of size 4 - at 0x........: main (imul.c:37) - Address 0x........ is not derived from any known block - -ERROR SUMMARY: 31 errors from 31 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,11 +0,0 @@ -4,7c4,5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 5000 bytes after the accessing pointer's -< legitimate range, the 10000-byte block alloc'd ---- -> Address 0x........ is 5000 bytes after the accessing pointer's -> legitimate range, a block of size 10000 alloc'd -10,11d7 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... Deleted: branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,9 +0,0 @@ - -Invalid read of size 1 - at 0x........: main (justify.c:20) - Address 0x........ is 5000 bytes after the accessing pointer's - legitimate range, a block of size 10000 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (justify.c:16) - -ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,24 +0,0 @@ -12,15d11 -< -< Invalid read of size 4 -< at 0x........: main (neg.c:16) -< Address 0x........ is not derived from any known block -17,20d12 -< -< Invalid read of size 4 -< at 0x........: main (neg.c:16) -< Address 0x........ is not derived from any known block -22,25d13 -< -< Invalid read of size 4 -< at 0x........: main (neg.c:18) -< Address 0x........ is not derived from any known block -27,30d14 -< -< Invalid read of size 4 -< at 0x........: main (neg.c:18) -< Address 0x........ is not derived from any known block -52c36 -< ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/neg.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,36 +0,0 @@ - -about to do 14 [0] -Invalid read of size 4 - at 0x........: main (neg.c:14) - Address 0x........ is not derived from any known block -about to do 14 [-1] - -Invalid read of size 4 - at 0x........: main (neg.c:14) - Address 0x........ is not derived from any known block -about to do 16 [0] -about to do 16 [-1] -about to do 18 [0] -about to do 18 [-1] -about to do 20 [0] - -Invalid read of size 4 - at 0x........: main (neg.c:20) - Address 0x........ is not derived from any known block -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (neg.c:20) - Address 0x........ is not derived from any known block -about to do 22 [0] - -Invalid read of size 4 - at 0x........: main (neg.c:22) - Address 0x........ is not derived from any known block -about to do 22 [-1] - -Invalid read of size 4 - at 0x........: main (neg.c:22) - Address 0x........ is not derived from any known block - -ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,66 +0,0 @@ -5,7c5 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -12,14c10 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -16,21d11 -< -< Invalid read of size 4 -< at 0x........: main (not.c:16) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -23,28d12 -< -< Invalid read of size 4 -< at 0x........: main (not.c:16) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block -33,35c17 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -40,42c22 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -47,49c27 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -54,56c32 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -61,63c37 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -68,70c42 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is not derived from any known block -72c44 -< ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/not.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,44 +0,0 @@ - -about to do 14 [0] -Invalid read of size 4 - at 0x........: main (not.c:14) - Address 0x........ is not derived from any known block -about to do 14 [-1] - -Invalid read of size 4 - at 0x........: main (not.c:14) - Address 0x........ is not derived from any known block -about to do 16 [0] -about to do 16 [-1] -about to do 18 [0] - -Invalid read of size 4 - at 0x........: main (not.c:18) - Address 0x........ is not derived from any known block -about to do 18 [-1] - -Invalid read of size 4 - at 0x........: main (not.c:18) - Address 0x........ is not derived from any known block -about to do 20 [0] - -Invalid read of size 4 - at 0x........: main (not.c:20) - Address 0x........ is not derived from any known block -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (not.c:20) - Address 0x........ is not derived from any known block -about to do 22 [0] - -Invalid read of size 4 - at 0x........: main (not.c:22) - Address 0x........ is not derived from any known block -about to do 22 [-1] - -Invalid read of size 4 - at 0x........: main (not.c:22) - Address 0x........ is not derived from any known block - -ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,171 +0,0 @@ -1,167c1,2 -< -< Invalid read of size 4 -< at 0x........: main (partial.c:21) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes inside the accessing pointer's -< legitimate range, the 4-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:7) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:23) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 2 bytes inside the accessing pointer's -< legitimate range, the 5-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:8) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:24) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 3 bytes inside the accessing pointer's -< legitimate range, the 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:25) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes inside the accessing pointer's -< legitimate range, the 7-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:10) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:34) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:35) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:36) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:37) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 2 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:38) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes after the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:41) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:42) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes inside the accessing pointer's -< legitimate range, the 7-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:7) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:43) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes inside the accessing pointer's -< legitimate range, the 7-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:8) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 1 -< at 0x........: main (partial.c:44) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes after the accessing pointer's -< legitimate range, the 0-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 2 -< at 0x........: main (partial.c:45) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< legitimate range, the 1-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:10) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0) ---- -> valgrind: Bad option '--partial-loads-ok=no'; aborting. -> valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,2 +0,0 @@ -valgrind: Bad option '--partial-loads-ok=no'; aborting. -valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.diff 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,61 +0,0 @@ -2,3c2,3 -< pthread_key_create: key is non-contiguous -< at 0x........: __pthread_key_create (vg_libpthread.c:...) ---- -> Invalid write of size 4 -> at 0x........: pthread_key_create (in /lib/libpthread-2.5.so) -5,7c5,6 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 1 bytes within a 4-byte block alloc'd ---- -> Address 0x........ is 1 bytes inside the accessing pointer's -> legitimate range, a block of size 4 alloc'd -10,12d8 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte is not within a known block -14,38c10,11 -< Invalid read of size 4 -< at 0x........: __pthread_key_create (vg_libpthread.c:...) -< by 0x........: main (pth_create.c:17) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes inside the accessing pointer's -< legitimate range, the 4-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (pth_create.c:14) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< pthread_key_create: key contains unaddressable byte(s) -< at 0x........: __pthread_key_create (vg_libpthread.c:...) -< by 0x........: main (pth_create.c:19) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes within a 4-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (pth_create.c:18) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: __pthread_key_create (vg_libpthread.c:...) ---- -> Invalid write of size 4 -> at 0x........: pthread_key_create (in /lib/libpthread-2.5.so) -40,43c13,14 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 4-byte block free'd ---- -> Address 0x........ is 0 bytes inside the accessing pointer's -> once-legitimate range, a block of size 4 free'd -46,47d16 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -49c18 -< ERROR SUMMARY: 202 errors from 4 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) +++ branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.out 2008-08-02 07:07:43 UTC (rev 8499) @@ -1,18 +0,0 @@ - -Invalid write of size 4 - at 0x........: pthread_key_create (in /lib/libpthread-2.5.so) - by 0x........: main (pth_create.c:17) - Address 0x........ is 1 bytes inside the accessing pointer's - legitimate range, a block of size 4 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (pth_create.c:14) - -Invalid write of size 4 - at 0x........: pthread_key_create (in /lib/libpthread-2.5.so) - by 0x........: main (pth_create.c:19) - Address 0x........ is 0 bytes inside the accessing pointer's - once-legitimate range, a block of size 4 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: main (pth_create.c:18) - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.diff ===============================... [truncated message content] |
|
From: <sv...@va...> - 2008-08-02 07:02:41
|
Author: sewardj Date: 2008-08-02 08:02:51 +0100 (Sat, 02 Aug 2008) New Revision: 8498 Log: Delete even more files that should not have been committed. Removed: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.out Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.diff 2008-08-02 06:57:59 UTC (rev 8497) +++ branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) @@ -1,6 +0,0 @@ -1,3c1 -< -< -< ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ---- -> valgrind: ./asm: No such file or directory Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.out 2008-08-02 06:57:59 UTC (rev 8497) +++ branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) @@ -1 +0,0 @@ -valgrind: ./asm: No such file or directory Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.diff 2008-08-02 06:57:59 UTC (rev 8497) +++ branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.diff 2008-08-02 07:02:51 UTC (rev 8498) @@ -1,50 +0,0 @@ -1,47c1 -< -< Invalid read of size 4 -< at 0x........: main (lea.S:59) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 1365-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (lea.S:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (lea.S:60) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 1365-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (lea.S:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (lea.S:63) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 1365-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (lea.S:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid LEA2 -< at 0x........: main (lea.S:66) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 1365-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (lea.S:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Scaling known pointer by value > 1 in lea instruction -< -< ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) ---- -> valgrind: ./lea: No such file or directory Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.out 2008-08-02 06:57:59 UTC (rev 8497) +++ branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.stderr.out 2008-08-02 07:02:51 UTC (rev 8498) @@ -1 +0,0 @@ -valgrind: ./lea: No such file or directory |
|
From: <sv...@va...> - 2008-08-02 06:57:51
|
Author: sewardj
Date: 2008-08-02 07:57:59 +0100 (Sat, 02 Aug 2008)
New Revision: 8497
Log:
Update expected outputs.
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/supp.supp
branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp
Modified: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,68 +1,47 @@
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:8)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (ccc.cpp:21)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: __builtin_new (vg_replace_malloc.c:...)
by 0x........: operator new(unsigned) (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:9)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 4
at 0x........: main (ccc.cpp:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 40-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
at 0x........: __builtin_vec_new (vg_replace_malloc.c:...)
by 0x........: operator new[](unsigned) (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:10)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 4
at 0x........: main (ccc.cpp:23)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:11)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (ccc.cpp:24)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:12)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (ccc.cpp:25)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
- by 0x........: __posix_memalign (vg_replace_malloc.c:...)
+ by 0x........: posix_memalign (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:14)
- by 0x........: __libc_start_main (...libc...)
ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/fp.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,46 +1,30 @@
Invalid read of size 8
at 0x........: main (fp.c:13)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, the 8-byte block free'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fp.c:11)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid write of size 8
at 0x........: main (fp.c:13)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, the 8-byte block free'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fp.c:11)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (fp.c:14)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, the 4-byte block free'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 4 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fp.c:12)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid write of size 4
at 0x........: main (fp.c:14)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, the 4-byte block free'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 4 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fp.c:12)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/hp_bounds.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,24 +1,16 @@
Invalid read of size 4
at 0x........: main (hp_bounds.c:9)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 400-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (hp_bounds.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (hp_bounds.c:10)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 400-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (hp_bounds.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/hp_dangle.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,24 +1,18 @@
Invalid read of size 4
at 0x........: main (hp_dangle.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 20 bytes inside the accessing pointer's
- once-legitimate range, the 400-byte block free'd
+ Address 0x........ is 20 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 400 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: mk_dangle (hp_dangle.c:7)
by 0x........: main (hp_dangle.c:15)
- by 0x........: __libc_start_main (...libc...)
Doubly-invalid read of size 4
at 0x........: main (hp_dangle.c:18)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- once-legitimate range, the 400-byte block free'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ once-legitimate range, a block of size 400 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: mk_dangle (hp_dangle.c:7)
by 0x........: main (hp_dangle.c:15)
- by 0x........: __libc_start_main (...libc...)
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/justify.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,13 +1,9 @@
Invalid read of size 1
at 0x........: main (justify.c:20)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 5000 bytes after the accessing pointer's
- legitimate range, the 10000-byte block alloc'd
+ Address 0x........ is 5000 bytes after the accessing pointer's
+ legitimate range, a block of size 10000 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (justify.c:16)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,167 +1,107 @@
Invalid read of size 4
at 0x........: main (partial.c:21)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:7)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:23)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, the 5-byte block alloc'd
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 5 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:8)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:24)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 3 bytes inside the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 3 bytes inside the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:9)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:25)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, the 7-byte block alloc'd
+ Address 0x........ is 4 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:10)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:34)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:35)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:36)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:37)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:38)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:41)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial.c:42)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, the 7-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:7)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:43)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, the 7-byte block alloc'd
+ Address 0x........ is 4 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:8)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 1
at 0x........: main (partial.c:44)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 0-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 0 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:9)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 2
at 0x........: main (partial.c:45)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, the 1-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 1 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:10)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,101 +1,72 @@
Invalid read of size 4
at 0x........: main (partial.c:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, the 4-byte block alloc'd
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:7)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:23)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, the 5-byte block alloc'd
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 5 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:8)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:24)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 3 bytes inside the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 3 bytes inside the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:9)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:34)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:36)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:37)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (partial.c:38)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 3-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
+Invalid read of size 8
+ at 0x........: main (partial.c:42)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
Invalid read of size 1
at 0x........: main (partial.c:44)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 0-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 0 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:9)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 2
at 0x........: main (partial.c:45)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, the 1-byte block alloc'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 1 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:10)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,68 +1,44 @@
Invalid read of size 4
at 0x........: main (realloc.c:20)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 200-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (realloc.c:21)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 200-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (realloc.c:28)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 200-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (realloc.c:29)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 200-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (realloc.c:38)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 400-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 4
at 0x........: main (realloc.c:39)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 400-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -3,44 +3,40 @@
at 0x........: strlen (in /...libc...)
by 0x........: __libc_start_main (...libc...)
by 0x........: ...
-Address 0x........ is 12 bytes inside the accessing pointer's
- legitimate range, the 13-byte block alloc'd
+ Address 0x........ is 12 bytes inside the accessing pointer's
+ legitimate range, a block of size 13 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: __strdup (in /...libc...)
by 0x........: main (strlen.c:14)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 4
at 0x........: strchr (in /...libc...)
by 0x........: __libc_start_main (...libc...)
by 0x........: ...
-Address 0x........ is 12 bytes inside the accessing pointer's
- legitimate range, the 13-byte block alloc'd
+ Address 0x........ is 12 bytes inside the accessing pointer's
+ legitimate range, a block of size 13 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: __strdup (in /...libc...)
by 0x........: main (strlen.c:14)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 4
at 0x........: strrchr (in /...libc...)
by 0x........: __libc_start_main (...libc...)
by 0x........: ...
-Address 0x........ is 12 bytes inside the accessing pointer's
- legitimate range, the 13-byte block alloc'd
+ Address 0x........ is 12 bytes inside the accessing pointer's
+ legitimate range, a block of size 13 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: __strdup (in /...libc...)
by 0x........: main (strlen.c:14)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 4
at 0x........: strrchr (in /...libc...)
by 0x........: __libc_start_main (...libc...)
by 0x........: ...
-Address 0x........ is 12 bytes inside the accessing pointer's
- legitimate range, the 13-byte block alloc'd
+ Address 0x........ is 12 bytes inside the accessing pointer's
+ legitimate range, a block of size 13 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: __strdup (in /...libc...)
by 0x........: main (strlen.c:14)
- by 0x........: __libc_start_main (...libc...)
ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/supp.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,4 +1,4 @@
Warning: invalid file descriptor -1 in syscall write()
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 3)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/supp.supp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/supp.supp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/supp.supp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,20 +1,16 @@
{
- <insert a suppression name here>
- Annelid:LoadStore
+ first-in-supp.supp
+ exp-ptrcheck:LoadStore
fun:main
- fun:__libc_start_main
- obj:*/annelid/tests/supp
}
{
- <insert a suppression name here>
- Annelid:Arith
+ second-in-supp.supp
+ exp-ptrcheck:Arith
fun:main
- fun:__libc_start_main
- obj:*/annelid/tests/supp
}
{
- <insert a suppression name here>
- Annelid:SysParam
+ third-in-supp.supp
+ exp-ptrcheck:SysParam
write(buf)
fun:__GI___libc_write
fun:__libc_start_main
Modified: branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,2 +1 @@
prog: syscall
-vgopts: --sloppy-malloc=no
Modified: branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp 2008-08-02 06:56:27 UTC (rev 8496)
+++ branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp 2008-08-02 06:57:59 UTC (rev 8497)
@@ -1,46 +1,34 @@
Invalid read of size 1
at 0x........: main (unaligned.c:33)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: __strdup (in /...libc...)
+ by 0x........: ...
by 0x........: main (unaligned.c:8)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 1
at 0x........: main (unaligned.c:37)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: __strdup (in /...libc...)
+ by 0x........: ...
by 0x........: main (unaligned.c:8)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 1
at 0x........: main (unaligned.c:39)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: __strdup (in /...libc...)
+ by 0x........: ...
by 0x........: main (unaligned.c:8)
- by 0x........: __libc_start_main (...libc...)
Invalid read of size 1
at 0x........: main (unaligned.c:43)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, the 6-byte block alloc'd
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: __strdup (in /...libc...)
+ by 0x........: ...
by 0x........: main (unaligned.c:8)
- by 0x........: __libc_start_main (...libc...)
ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2008-08-02 06:56:19
|
Author: sewardj
Date: 2008-08-02 07:56:27 +0100 (Sat, 02 Aug 2008)
New Revision: 8496
Log:
Make these tests 64-bit clean.
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/arith.c
branches/PTRCHECK/exp-ptrcheck/tests/arith_include2.c
branches/PTRCHECK/exp-ptrcheck/tests/cmp.c
branches/PTRCHECK/exp-ptrcheck/tests/partial.c
branches/PTRCHECK/exp-ptrcheck/tests/pth_create.c
branches/PTRCHECK/exp-ptrcheck/tests/realloc.c
branches/PTRCHECK/exp-ptrcheck/tests/supp.c
branches/PTRCHECK/exp-ptrcheck/tests/tricky.c
Modified: branches/PTRCHECK/exp-ptrcheck/tests/arith.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/arith.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/arith.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -1,57 +1,57 @@
#include <stdlib.h>
-typedef unsigned int Uint;
+typedef unsigned long Ulong;
int main(void)
{
- int* x = malloc(sizeof(int) * 10);
- int* y = malloc(sizeof(int) * 10);
- int* y2 = y + 3;
+ long* x = malloc(sizeof(long) * 10);
+ long* y = malloc(sizeof(long) * 10);
+ long* y2 = y + 3;
// ok -- same segment
- int w = y2 - y;
+ long w = y2 - y;
// ok -- different heap segments (result can only be used to index off
// 'x', but glibc's strcpy() does this...)
- int* z = (int*)((int)x - (int)y);
+ long* z = (long*)((long)x - (long)y);
- w = (int)y2 + (int)y; // bad (same segment)
+ w = (long)y2 + (long)y; // bad (same segment)
- w = (int)x & (int)y; // bad (different segments)
+ w = (long)x & (long)y; // bad (different segments)
- w = (int)y2 / (int)4; // bad, but indistinguishable from
- // acceptable '%' cases...
+ w = (long)y2 / (long)4; // bad, but indistinguishable from
+ // acceptable '%' cases...
- w = (int)y2 % (int)4; // ok
- w = (int)y2 % (int)y; // bad -- modulor(?) is a pointer
- w = (int)0xffffffff % (int)y; // bad -- modulend(?) is a non-pointer
+ w = (long)y2 % (long)4; // ok
+ w = (long)y2 % (long)y; // bad -- modulor(?) is a pointer
+ w = (long)0xffffffff % (long)y; // bad -- modulend(?) is a non-pointer
- w = (Uint)y2 % (Uint)4; // ok
- w = (Uint)y2 % (Uint)y; // bad -- modulor(?) is a pointer
- w = (Uint)0xffffffff % (Uint)y; // bad -- modulend(?) is a non-pointer
+ w = (Ulong)y2 % (Ulong)4; // ok
+ w = (Ulong)y2 % (Ulong)y; // bad -- modulor(?) is a pointer
+ w = (Ulong)0xffffffff % (Ulong)y; // bad -- modulend(?) is a non-pointer
- w = (int)y * (int)y2; // bad
+ w = (long)y * (long)y2; // bad
- w = (int)y >> (int)2; // ok
- w = (int)y << (int)2; // ok
+ w = (long)y >> (long)2; // ok
+ w = (long)y << (long)2; // ok
- w = (int)y & 0xffff; // ok
- w = (int)y | 0xffff; // ok
- w = (int)y ^ (int)y2; // ok
+ w = (long)y & 0xffff; // ok
+ w = (long)y | 0xffff; // ok
+ w = (long)y ^ (long)y2; // ok
- w = ~((int)y); // ok
+ w = ~((long)y); // ok
- w = -((int)y); // bad -- operand is a non-pointer
+ w = -((long)y); // bad -- operand is a non-polonger
- w = (int)x ^ (int)x; // xor(ptr,ptr) --> constant (0)
- z = x + w; // ok, because xor result was zero
+ w = (long)x ^ (long)x; // xor(ptr,ptr) --> constant (0)
+ z = x + w; // ok, because xor result was zero
- w = (int)x ^ ((int)x+1); // xor(ptr,ptr') --> constant (small)
- z = x + w; // ok, because xor result was constant
+ w = (long)x ^ ((long)x+1); // xor(ptr,ptr') --> constant (small)
+ z = x + w; // ok, because xor result was constant
- w = (int)x ^ (int)y; // xor(ptr,ptr') --> constant (small)
- z = x + w; // ok, because xor result was constant
+ w = (long)x ^ (long)y; // xor(ptr,ptr') --> constant (small)
+ z = x + w; // ok, because xor result was constant
- return (int)z;
+ return (long)z;
}
Modified: branches/PTRCHECK/exp-ptrcheck/tests/arith_include2.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/arith_include2.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/arith_include2.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -8,30 +8,30 @@
if (__builtin_setjmp(TTT_jmpbuf) == 0) \
{ fprintf(stderr, "about to do %d [-1]\n", __LINE__); tn = tp[-1]; }
- #define b( a, c) tp = (int*)a; TTT
- #define ui(op, a, c) tp = (int*)op(int)a; TTT
- #define g(op, a,b,c) tp = (int*)((int)a op (int)b); TTT
+ #define b( a, c) tp = (long*)a; TTT
+ #define ui(op, a, c) tp = (long*)op(long)a; TTT
+ #define g(op, a,b,c) tp = (long*)((long)a op (long)b); TTT
#define UNU __attribute__((unused))
struct sigaction sigsegv;
// Scratch values
- int a, tn;
- int* tp;
+ long a, tn;
+ long* tp;
// Known pointers
- int* p = malloc(sizeof(int)*10); UNU int* p2 = malloc(sizeof(int)*10);
- UNU int* pp = p;
+ long* p = malloc(sizeof(long)*10); UNU long* p2 = malloc(sizeof(long)*10);
+ UNU long* pp = p;
// Unknown pointers
-// int up[10], UNU up2[10];
+// long up[10], UNU up2[10];
// Known nonptrs; make them zero and known
- int n = a ^ a, UNU n2 = n+1, UNU n7F = 0x7fffffff, UNU nFF = ~n;
+ long n = a ^ a, UNU n2 = n+1, UNU n7F = 0x7fffffffUL, UNU nFF = ~n;
// Unknown nonptrs; make them zero but unknown
- int un = 0x01100000, UNU un2 = un;
+ long un = 0x01100000UL, UNU un2 = un;
// Known nonptr, from pointerness range check
- UNU int nn = 0;
+ UNU long nn = 0;
// Intall SEGV handler
memset(&sigsegv, 0, sizeof(sigsegv));
Modified: branches/PTRCHECK/exp-ptrcheck/tests/cmp.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/cmp.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/cmp.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -9,7 +9,7 @@
char* buf = malloc(sizeof(char) * 6);
// Known zero non-pointer
- char* nz = (char*)((int)buf^(int)buf); // known non-pointer
+ char* nz = (char*)((long)buf^(long)buf); // known non-pointer
// Unknown zero nonptr; make them zero but unknown
char* unz;
Modified: branches/PTRCHECK/exp-ptrcheck/tests/partial.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -14,7 +14,7 @@
int* y6 = malloc(6);
int* y7 = malloc(7);
- #define ADDB(ptr, n) ((int*)(((unsigned int)(ptr)) + (n)))
+ #define ADDB(ptr, n) ((long*)(((unsigned long)(ptr)) + (n)))
// All these overrun by a single byte; the reads are happening at
// different alignments.
@@ -39,7 +39,7 @@
// These are all bad
f = * f3; // ok if --partial-loads-ok=yes
- d = * d7; // ok if --partial-loads-ok=yes
+ d = * d7;
lli = * lli7; // ok if --partial-loads-ok=yes
c = * c0;
s = * s1;
Modified: branches/PTRCHECK/exp-ptrcheck/tests/pth_create.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/pth_create.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/pth_create.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -14,9 +14,9 @@
pthread_key_t* key = malloc(sizeof(pthread_key_t));
pthread_key_t* key2 = malloc(sizeof(pthread_key_t));
- pthread_key_create ( (pthread_key_t*)((int)key + 1), NULL );
+ pthread_key_create ( (pthread_key_t*)((long)key + 1), NULL );
free(key2);
- pthread_key_create ( key2 , NULL );
+ pthread_key_create ( key2 , NULL );
return 0;
}
Modified: branches/PTRCHECK/exp-ptrcheck/tests/realloc.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -7,7 +7,7 @@
int* y;
int** x = malloc(sizeof(int) * 100);
int* x2 = malloc(sizeof(int) * 100);
-
+ void* sink;
x[0] = x2; // this is to check the pointerness is copied across ok
x[49] = x2; // this is to check the pointerness is copied across ok
@@ -40,7 +40,7 @@
i = *x[0]; // ok
i = *x[49]; // ok
- realloc((void*)0x99, 10); // fails
+ sink = realloc((void*)0x99, 10); // fails
return 0;
}
Modified: branches/PTRCHECK/exp-ptrcheck/tests/supp.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/supp.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/supp.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -11,8 +11,8 @@
int i = 11;
char* buf = malloc(sizeof(char) * 6);
char c = buf[-1]; // LoadStoreErr
- char* x = buf + (int)buf; // ArithErr
- char* y = (char*)((int)buf * i); // AsmErr
+ char* x = buf + (long)buf; // ArithErr
+ char* y = (char*)((long)buf * i); // AsmErr
write(-1, buf+3, 5); // SysParamErr
return x-y+c;
Modified: branches/PTRCHECK/exp-ptrcheck/tests/tricky.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/tricky.c 2008-08-02 06:55:41 UTC (rev 8495)
+++ branches/PTRCHECK/exp-ptrcheck/tests/tricky.c 2008-08-02 06:56:27 UTC (rev 8496)
@@ -10,8 +10,8 @@
int* p = malloc(sizeof(int) * 100);
p[0] = 0; // ok
- int* n = (int*)((int)p+(int)u); // result is n, because near zero!
- int* x = (int*)((int)n - (int)u); // x == p
+ int* n = (int*)((long)p + (long)u); // result is n, because near zero!
+ int* x = (int*)((long)n - (long)u); // x == p
x[0] = 0; // ok, originally caused false pos.
return 0;
|
|
From: <sv...@va...> - 2008-08-02 06:55:33
|
Author: sewardj Date: 2008-08-02 07:55:41 +0100 (Sat, 02 Aug 2008) New Revision: 8495 Log: Delete more files that should not have been committed. Removed: branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.out branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.out Deleted: branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,23 +0,0 @@ - -Invalid arguments to Add32/Add64 - at 0x........: main (arith.c:19) - Both args derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith.c:9) - -Invalid arguments to And32/And64 - at 0x........: main (arith.c:21) - First arg derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith.c:9) - Second arg derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith.c:8) - -Invalid arguments to Mul32/Mul64 - at 0x........: main (arith.c:34) - Both args derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith.c:9) - -ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,46 +0,0 @@ - -mm: mm.c:34: main: Assertion `((void *)0) == res2' failed. -syscallno == 270 - -exp-ptrcheck: the 'impossible' happened: - unhandled syscall - at 0x........: report_and_quit (m_libcassert.c:140) - by 0x........: panic (m_libcassert.c:215) - by 0x........: vgPlain_tool_panic (m_libcassert.c:230) - by 0x........: ... - by 0x........: ... - by 0x........: vgPlain_fixup_guest_state_after_syscall_interrupted (syswrap-main.c:1353) - by 0x........: async_signalhandler (m_signals.c:1627) - by 0x........: ... - by 0x........: myvprintf_int64 (m_debuglog.c:596) - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ... - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - by 0x........: ??? - -sched status: - running_tid=1 - -Thread 1: status = VgTs_Runnable - at 0x........: raise (in /...libc...) - by 0x........: ... - by 0x........: ... - by 0x........: main (mm.c:34) - - -Note: see also the FAQ.txt in the source distribution. -It contains workarounds to several common problems. - -If that doesn't help, please report this bug to: nj...@va... - -In the bug report, send all the above text, the valgrind -version, and what Linux distro you are using. Thanks. - Deleted: branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,84 +0,0 @@ - -about to do 14 [0] -Invalid read of size 4 - at 0x........: main (or.c:14) - Address 0x........ is not derived from any known block -about to do 14 [-1] - -Invalid read of size 4 - at 0x........: main (or.c:14) - Address 0x........ is not derived from any known block -about to do 16 [0] -about to do 16 [-1] - -Invalid read of size 4 - at 0x........: main (or.c:16) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 40 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) -about to do 18 [0] -about to do 18 [-1] - -Invalid read of size 4 - at 0x........: main (or.c:18) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 40 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) -about to do 20 [0] -about to do 20 [-1] - -Invalid read of size 4 - at 0x........: main (or.c:20) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 40 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) - -Invalid arguments to Or32/Or64 - at 0x........: main (or.c:21) - First arg derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) - Second arg derived from address 0x........ of 40-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (arith_include2.c:22) -about to do 21 [0] - -Invalid read of size 4 - at 0x........: main (or.c:21) - Address 0x........ is not derived from any known block -about to do 21 [-1] - -Invalid read of size 4 - at 0x........: main (or.c:21) - Address 0x........ is not derived from any known block -about to do 23 [0] -about to do 23 [-1] -about to do 24 [0] -about to do 24 [-1] -about to do 26 [0] -about to do 26 [-1] -about to do 27 [0] -about to do 27 [-1] -about to do 29 [0] -about to do 29 [-1] -about to do 30 [0] -about to do 30 [-1] -about to do 31 [0] -about to do 31 [-1] -about to do 32 [0] -about to do 32 [-1] -about to do 33 [0] -about to do 33 [-1] -about to do 35 [0] -about to do 35 [-1] -about to do 36 [0] -about to do 36 [-1] -about to do 38 [0] -about to do 38 [-1] -about to do 39 [0] -about to do 39 [-1] - -ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,2 +0,0 @@ -valgrind: Bad option '--partial-loads-ok=yes'; aborting. -valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,2 +0,0 @@ -valgrind: Bad option '--partial-loads-ok=no'; aborting. -valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.out =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.out 2008-08-02 06:54:07 UTC (rev 8494) +++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.out 2008-08-02 06:55:41 UTC (rev 8495) @@ -1,2 +0,0 @@ -valgrind: Bad option '--sloppy-malloc=no'; aborting. -valgrind: Use --help for more information. |
|
From: <sv...@va...> - 2008-08-02 06:53:59
|
Author: sewardj Date: 2008-08-02 07:54:07 +0100 (Sat, 02 Aug 2008) New Revision: 8494 Log: Delete files which should not have been committed in the first place. Removed: branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.diff branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.diff Deleted: branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/arith.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,91 +0,0 @@ -2c2 -< Invalid ADD ---- -> Invalid arguments to Add32/Add64 -4,6c4 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd ---- -> Both args derived from address 0x........ of 40-byte block alloc'd -9,10d6 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -12c8 -< Invalid AND ---- -> Invalid arguments to And32/And64 -14,16c10 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg derived from address 0x........ of 40-byte block alloc'd ---- -> First arg derived from address 0x........ of 40-byte block alloc'd -19,21c13 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Second arg derived from address 0x........ of 40-byte block alloc'd ---- -> Second arg derived from address 0x........ of 40-byte block alloc'd -24,25d15 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -27,69c17 -< Invalid IDIV -< at 0x........: main (arith.c:27) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid IDIV -< at 0x........: main (arith.c:28) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg not a pointer -< Second arg derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid DIV -< at 0x........: main (arith.c:31) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid DIV -< at 0x........: main (arith.c:32) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First arg not a pointer -< Second arg derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid IMUL ---- -> Invalid arguments to Mul32/Mul64 -71,73c19 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Both args derived from address 0x........ of 40-byte block alloc'd ---- -> Both args derived from address 0x........ of 40-byte block alloc'd -76,77d21 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -79c23 -< ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,91 +0,0 @@ -3,20c3,6 -< at 0x........: main (ccc.cpp:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 4-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (ccc.cpp:8) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (ccc.cpp:21) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 4-byte block alloc'd -< at 0x........: __builtin_new (vg_replace_malloc.c:...) -< by 0x........: operator new(unsigned) (vg_replace_malloc.c:...) ---- -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 4 alloc'd -> at 0x........: operator new(unsigned) (vg_replace_malloc.c:...) -22d7 -< by 0x........: __libc_start_main (...libc...) -25,33c10,14 -< at 0x........: main (ccc.cpp:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 40-byte block alloc'd -< at 0x........: __builtin_vec_new (vg_replace_malloc.c:...) -< by 0x........: operator new[](unsigned) (vg_replace_malloc.c:...) -< by 0x........: main (ccc.cpp:10) -< by 0x........: __libc_start_main (...libc...) ---- -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 4 alloc'd -> at 0x........: malloc (vg_replace_malloc.c:...) -> by 0x........: main (ccc.cpp:8) -36,40c17,19 -< at 0x........: main (ccc.cpp:23) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 4-byte block alloc'd ---- -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 4 alloc'd -43,44d21 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -47,51c24,26 -< at 0x........: main (ccc.cpp:24) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 4-byte block alloc'd ---- -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 4 alloc'd -54,55d28 -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -58,62c31,40 -< at 0x........: main (ccc.cpp:25) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 4 bytes before the accessing pointer's -< legitimate range, the 4-byte block alloc'd ---- -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 40 alloc'd -> at 0x........: operator new[](unsigned) (vg_replace_malloc.c:...) -> by 0x........: main (ccc.cpp:10) -> -> Invalid read of size 4 -> at 0x........: main (ccc.cpp:16) -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 4 alloc'd -64c42 -< by 0x........: __posix_memalign (vg_replace_malloc.c:...) ---- -> by 0x........: posix_memalign (vg_replace_malloc.c:...) -66d43 -< by 0x........: __libc_start_main (...libc...) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/mm.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,106 +0,0 @@ -2,10c2,3 -< Invalid read of size 1 -< at 0x........: main (mm.c:47) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 4096-byte block mmap'd -< at 0x........: __mmap (in /...libc...) -< Warning: invalid file descriptor -1 in syscall write() -< Warning: invalid file descriptor -1 in syscall write() ---- -> mm: mm.c:34: main: Assertion `((void *)0) == res2' failed. -> syscallno == 270 -12,15c5,9 -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (mm.c:49) -< by 0x........: __libc_start_main (...libc...) ---- -> exp-ptrcheck: the 'impossible' happened: -> unhandled syscall -> at 0x........: report_and_quit (m_libcassert.c:140) -> by 0x........: panic (m_libcassert.c:215) -> by 0x........: vgPlain_tool_panic (m_libcassert.c:230) -17,23d10 -< First byte is not within a known block -< Last byte (0x........) is 3 bytes within a 4096-byte block mmap'd -< at 0x........: __mmap (in /...libc...) -< -< Invalid read of size 1 -< at 0x........: main (mm.c:53) -< by 0x........: __libc_start_main (...libc...) -25,28c12,13 -< Address 0x........ is 0 bytes inside the accessing pointer's -< once-legitimate range, the 4096-byte block munmap'd -< at 0x........: __munmap (in /...libc...) -< by 0x........: __libc_start_main (...libc...) ---- -> by 0x........: vgPlain_fixup_guest_state_after_syscall_interrupted (syswrap-main.c:1353) -> by 0x........: async_signalhandler (m_signals.c:1627) -30,33c15,22 -< -< Doubly-invalid read of size 1 -< at 0x........: main (mm.c:54) -< by 0x........: __libc_start_main (...libc...) ---- -> by 0x........: myvprintf_int64 (m_debuglog.c:596) -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -35,40c24,27 -< Address 0x........ is 1 bytes before the accessing pointer's -< once-legitimate range, the 4096-byte block munmap'd -< at 0x........: __munmap (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Warning: invalid file descriptor -1 in syscall write() ---- -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -> by 0x........: ??? -42,51c29,30 -< Syscall param write(buf) contains unaddressable byte(s) -< at 0x........: __libc_write (...libc...) -< by 0x........: main (mm.c:55) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes within a 4096-byte block munmap'd -< at 0x........: __munmap (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Warning: invalid file descriptor -1 in syscall write() ---- -> sched status: -> running_tid=1 -53,56c32,33 -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (mm.c:56) -< by 0x........: __libc_start_main (...libc...) ---- -> Thread 1: status = VgTs_Runnable -> at 0x........: raise (in /...libc...) -58,61d34 -< First byte is not within a known block -< Last byte (0x........) is 3 bytes within a 4096-byte block munmap'd -< at 0x........: __munmap (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -62a36,45 -> by 0x........: main (mm.c:34) -> -> -> Note: see also the FAQ.txt in the source distribution. -> It contains workarounds to several common problems. -> -> If that doesn't help, please report this bug to: nj...@va... -> -> In the bug report, send all the above text, the valgrind -> version, and what Linux distro you are using. Thanks. -64d46 -< ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/or.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,23 +0,0 @@ -29,34d28 -< -< Invalid OR -< at 0x........: main (or.c:20) -< Both args derived from address 0x........ of 40-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (arith_include2.c:22) -36,39d29 -< -< Invalid read of size 4 -< at 0x........: main (or.c:20) -< Address 0x........ is not derived from any known block -44c34,37 -< Address 0x........ is not derived from any known block ---- -> Address 0x........ is 4 bytes before the accessing pointer's -> legitimate range, a block of size 40 alloc'd -> at 0x........: malloc (vg_replace_malloc.c:...) -> by 0x........: main (arith_include2.c:22) -91c84 -< ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0) ---- -> ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,105 +0,0 @@ -1,101c1,2 -< -< Invalid read of size 4 -< at 0x........: main (partial.c:22) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes inside the accessing pointer's -< legitimate range, the 4-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:7) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:23) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 2 bytes inside the accessing pointer's -< legitimate range, the 5-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:8) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:24) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 3 bytes inside the accessing pointer's -< legitimate range, the 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:34) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes before the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:36) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 1 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:37) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 2 bytes inside the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 4 -< at 0x........: main (partial.c:38) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes after the accessing pointer's -< legitimate range, the 3-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:6) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 1 -< at 0x........: main (partial.c:44) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes after the accessing pointer's -< legitimate range, the 0-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:9) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Invalid read of size 2 -< at 0x........: main (partial.c:45) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes inside the accessing pointer's -< legitimate range, the 1-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (partial.c:10) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0) ---- -> valgrind: Bad option '--partial-loads-ok=yes'; aborting. -> valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,50 +0,0 @@ -1,46c1,2 -< -< Invalid read of size 4 -< at 0x........: strlen (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 12 bytes inside the accessing pointer's -< legitimate range, the 13-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: __strdup (in /...libc...) -< by 0x........: main (strlen.c:14) -< by 0x........: __libc_start_main (...libc...) -< -< Invalid read of size 4 -< at 0x........: strchr (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 12 bytes inside the accessing pointer's -< legitimate range, the 13-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: __strdup (in /...libc...) -< by 0x........: main (strlen.c:14) -< by 0x........: __libc_start_main (...libc...) -< -< Invalid read of size 4 -< at 0x........: strrchr (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 12 bytes inside the accessing pointer's -< legitimate range, the 13-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: __strdup (in /...libc...) -< by 0x........: main (strlen.c:14) -< by 0x........: __libc_start_main (...libc...) -< -< Invalid read of size 4 -< at 0x........: strrchr (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 12 bytes inside the accessing pointer's -< legitimate range, the 13-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: __strdup (in /...libc...) -< by 0x........: main (strlen.c:14) -< by 0x........: __libc_start_main (...libc...) -< -< ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) ---- -> valgrind: Bad option '--partial-loads-ok=no'; aborting. -> valgrind: Use --help for more information. Deleted: branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.diff =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.diff 2008-08-02 06:44:24 UTC (rev 8493) +++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.stderr.diff 2008-08-02 06:54:07 UTC (rev 8494) @@ -1,113 +0,0 @@ -1,109c1,2 -< -< Warning: invalid file descriptor -1 in syscall write() -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:32) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 3 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte is not within a known block -< Warning: invalid file descriptor -1 in syscall write() -< -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:33) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte is not within a known block -< Last byte (0x........) is 3 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Warning: invalid file descriptor -1 in syscall write() -< -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:34) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 1 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte (0x........) is 0 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< Syscall param open(pathname) is non-contiguous -< at 0x........: __libc_open (...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 3 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte is not within a known block -< -< Syscall param getitimer(timer) is non-contiguous -< at 0x........: __getitimer (in /...libc...) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 0 bytes within a 15-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:21) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte is not within a known block -< Warning: invalid file descriptor -1 in syscall write() -< -< Syscall param write(buf) contains unaddressable byte(s) -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:41) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Address 0x........ is 0 bytes within a 6-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:40) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Warning: invalid file descriptor -1 in syscall write() -< -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:42) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 3 bytes within a 6-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:40) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte is not within a known block -< Warning: invalid file descriptor -1 in syscall write() -< -< Syscall param write(buf) is non-contiguous -< at 0x........: __libc_write (...libc...) -< by 0x........: main (syscall.c:43) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< First byte (0x........) is 1 bytes within a 6-byte block free'd -< at 0x........: free (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:40) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< Last byte (0x........) is 0 bytes within a 6-byte block alloc'd -< at 0x........: malloc (vg_replace_malloc.c:...) -< by 0x........: main (syscall.c:20) -< by 0x........: __libc_start_main (...libc...) -< by 0x........: ... -< -< ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0) ---- -> valgrind: Bad option '--sloppy-malloc=no'; aborting. -> valgrind: Use --help for more information. |
|
From: <sv...@va...> - 2008-08-02 06:44:17
|
Author: sewardj
Date: 2008-08-02 07:44:24 +0100 (Sat, 02 Aug 2008)
New Revision: 8493
Log:
* remove various parts of old UCode-based code
* tidy up syscall handling a bit
* fix bug in which some store handlers didn't actually check
validity of the store address
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-02 06:41:04 UTC (rev 8492)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-02 06:44:24 UTC (rev 8493)
@@ -36,6 +36,8 @@
// FIXME: should we shadow %RIP? Maybe not.
+// FIXME: shadows of temporaries created in preamble, a la memcheck?
+
// FIXME: result of add_new_segment is always ignored
// FIXME: the mechanism involving last_seg_added is really ugly.
@@ -54,6 +56,9 @@
// startup, or quit (to do with nonptr_or_unknown, also sync 1M
// magic value with PIE default load address in m_ume.c.
+// FIXME: consider whether we could paint memory acquired from
+// sys_read etc as NONPTR rather than UNKNOWN.
+
// XXX: recycle freed segments
//--------------------------------------------------------------
@@ -752,18 +757,6 @@
return (UNKNOWN != seg && BOTTOM != seg && NONPTR != seg);
}
-//zz static Char* pc_name_UOpcode(Int opc)
-//zz {
-//zz if (opc >= 0) return VG_(name_UOpcode)(True, opc);
-//zz
-//zz else if (-opc == VGOFF_(helper_mul_32_64)) return "MUL";
-//zz else if (-opc == VGOFF_(helper_imul_32_64)) return "IMUL";
-//zz else if (-opc == VGOFF_(helper_div_64_32)) return "DIV";
-//zz else if (-opc == VGOFF_(helper_idiv_64_32)) return "IDIV";
-//zz
-//zz else VG_(skin_panic)("pc_name_UOpcode");
-//zz }
-
static void pp_Error ( Error* err )
{
switch (VG_(get_error_kind)(err)) {
@@ -2124,7 +2117,6 @@
|| f == (Addr)pc_replace_memalign
|| f == (Addr)pc_replace_realloc)
{
- // if (f == (Addr)pc_replace_realloc)return;
// We remembered the last added segment; make sure it's the right one.
/* What's going on: at this point, the scheduler has just called
'f' -- one of our malloc replacement functions -- and it has
@@ -2247,58 +2239,6 @@
{
switch (syscallno) {
- /* For the most part, syscalls don't return pointers. So set
- the return shadow to unknown. */
- case __NR_access:
- case __NR_clock_gettime:
- case __NR_close:
-# if defined(__NR_connect)
- case __NR_connect:
-# endif
- case __NR_exit_group:
- case __NR_getcwd:
- case __NR_getrlimit:
- case __NR_fadvise64:
- case __NR_fcntl:
- case __NR_fstat:
- case __NR_futex:
-# if defined(__NR_fstat64)
- case __NR_fstat64:
-# endif
- case __NR_getdents64: // something to do with teeth?
- case __NR_getxattr:
- case __NR_ioctl: // ioctl -- assuming no pointers returned
- case __NR_lstat:
- case __NR_mprotect:
- case __NR_munmap: // die_mem_munmap already called, segment removed
- case __NR_open:
- case __NR_read:
- case __NR_set_robust_list:
-# if defined(__NR_set_thread_area)
- case __NR_set_thread_area:
-# endif
- case __NR_set_tid_address:
-# if defined(__NR_socket)
- case __NR_socket:
-# endif
-# if defined(__NR_socketcall)
- case __NR_socketcall: /* the nasty x86-linux socket multiplexor */
-# endif
- case __NR_rt_sigaction:
- case __NR_rt_sigprocmask:
- case __NR_stat:
-# if defined(__NR_stat64)
- case __NR_stat64:
-# endif
-# if defined(__NR_ugetrlimit)
- case __NR_ugetrlimit:
-# endif
- case __NR_uname:
- case __NR_write:
- //VG_(set_syscall_return_shadows)( tid, (UWord)UNKNOWN, 0 );
- VG_(set_syscall_return_shadows)( tid, (UWord)NONPTR, 0 );
- break;
-
/* These ones definitely don't return pointers. They're not
particularly grammatical, either. */
# if defined(__NR__llseek)
@@ -2310,35 +2250,48 @@
# if defined(__NR_accept)
case __NR_accept:
# endif
+ case __NR_access:
# if defined(__NR_bind)
case __NR_bind:
# endif
case __NR_chdir:
case __NR_chmod:
case __NR_clock_getres:
+ case __NR_clock_gettime:
case __NR_clone:
+ case __NR_close:
+# if defined(__NR_connect)
+ case __NR_connect:
+# endif
case __NR_dup:
case __NR_dup2:
case __NR_exit: /* hmm, why are we still alive? */
+ case __NR_exit_group:
+ case __NR_fadvise64:
case __NR_fchmod:
case __NR_fchown:
# if defined(__NR_fchown32)
case __NR_fchown32:
# endif
+ case __NR_fcntl:
# if defined(__NR_fcntl64)
case __NR_fcntl64:
# endif
case __NR_fdatasync:
- case __NR_fstatfs:
-# if defined(__NR_statfs64)
- case __NR_statfs64:
+ case __NR_fstat:
+# if defined(__NR_fstat64)
+ case __NR_fstat64:
# endif
+ case __NR_fstatfs:
case __NR_fsync:
case __NR_ftruncate:
# if defined(__NR_ftruncate64)
case __NR_ftruncate64:
# endif
- case __NR_getdents:
+ case __NR_futex:
+ case __NR_getcwd:
+ case __NR_getdents: // something to do with teeth?
+ case __NR_getdents64:
case __NR_getegid:
# if defined(__NR_getegid32)
case __NR_getegid32:
@@ -2351,9 +2304,11 @@
# if defined(__NR_getgid32)
case __NR_getgid32:
# endif
+ case __NR_getitimer:
case __NR_getppid:
case __NR_getresgid:
case __NR_getresuid:
+ case __NR_getrlimit:
# if defined(__NR_getsockname)
case __NR_getsockname:
# endif
@@ -2365,21 +2320,28 @@
# if defined(__NR_getuid32)
case __NR_getuid32:
# endif
+ case __NR_getxattr:
case __NR_inotify_init:
+ case __NR_ioctl: // ioctl -- assuming no pointers returned
case __NR_kill:
case __NR_link:
# if defined(__NR_listen)
case __NR_listen:
# endif
case __NR_lseek:
+ case __NR_lstat:
# if defined(__NR_lstat64)
case __NR_lstat64:
# endif
case __NR_madvise:
case __NR_mkdir:
+ case __NR_mprotect:
+ case __NR_munmap: // die_mem_munmap already called, segment removed
+ case __NR_open:
case __NR_pipe:
case __NR_poll:
case __NR_pwrite64:
+ case __NR_read:
case __NR_readlink:
case __NR_readv:
# if defined(__NR_recvfrom)
@@ -2400,6 +2362,11 @@
# if defined(__NR_sendto)
case __NR_sendto:
# endif
+ case __NR_set_robust_list:
+# if defined(__NR_set_thread_area)
+ case __NR_set_thread_area:
+# endif
+ case __NR_set_tid_address:
case __NR_setitimer:
case __NR_setrlimit:
# if defined(__NR_setsockopt)
@@ -2411,9 +2378,24 @@
# if defined(__NR_shutdown)
case __NR_shutdown:
# endif
+# if defined(__NR_socket)
+ case __NR_socket:
+# endif
+# if defined(__NR_socketcall)
+ case __NR_socketcall: /* the nasty x86-linux socket multiplexor */
+# endif
+# if defined(__NR_statfs64)
+ case __NR_statfs64:
+# endif
+ case __NR_rt_sigaction:
+ case __NR_rt_sigprocmask:
# if defined(__NR_sigreturn)
case __NR_sigreturn: /* not sure if we should see this or not */
# endif
+# if defined(__NR_stat64)
+ case __NR_stat64:
+# endif
+ case __NR_stat:
case __NR_statfs:
case __NR_symlink:
case __NR_sysinfo:
@@ -2423,13 +2405,18 @@
# if defined(__NR_truncate64)
case __NR_truncate64:
# endif
+# if defined(__NR_ugetrlimit)
+ case __NR_ugetrlimit:
+# endif
case __NR_umask:
+ case __NR_uname:
case __NR_unlink:
case __NR_utime:
# if defined(__NR_waitpid)
case __NR_waitpid:
# endif
case __NR_wait4:
+ case __NR_write:
case __NR_writev:
VG_(set_syscall_return_shadows)( tid, (UWord)NONPTR, 0 );
break;
@@ -2838,6 +2825,10 @@
UWord ms8B, UWord ls8B)
{
tl_assert(sizeof(UWord) == 8); /* DO NOT REMOVE */
+# if SC_SEGS
+ checkSeg(mptr_vseg);
+# endif
+ check_load_or_store(/*is_write*/True, m, 16, mptr_vseg);
// Actually *do* the STORE here
if (host_is_little_endian()) {
// FIXME: aren't we really concerned whether the guest
@@ -2860,6 +2851,10 @@
UWord w1, UWord ls4B)
{
tl_assert(sizeof(UWord) == 4); /* DO NOT REMOVE */
+# if SC_SEGS
+ checkSeg(mptr_vseg);
+# endif
+ check_load_or_store(/*is_write*/True, m, 16, mptr_vseg);
// Actually *do* the STORE here
if (host_is_little_endian()) {
// FIXME: aren't we really concerned whether the guest
@@ -2885,6 +2880,10 @@
UWord ms4B, UWord ls4B)
{
tl_assert(sizeof(UWord) == 4); /* DO NOT REMOVE */
+# if SC_SEGS
+ checkSeg(mptr_vseg);
+# endif
+ check_load_or_store(/*is_write*/True, m, 8, mptr_vseg);
// Actually *do* the STORE here
if (host_is_little_endian()) {
// FIXME: aren't we really concerned whether the guest
@@ -2904,6 +2903,10 @@
void check_store8_all8B(Addr m, Seg mptr_vseg, UWord all8B)
{
tl_assert(sizeof(UWord) == 8); /* DO NOT REMOVE */
+# if SC_SEGS
+ checkSeg(mptr_vseg);
+# endif
+ check_load_or_store(/*is_write*/True, m, 8, mptr_vseg);
// Actually *do* the STORE here
*(ULong*)m = all8B;
nonptr_or_unknown_range(m, 8);
@@ -3020,11 +3023,11 @@
// -------------
static Seg do_addW_result(Seg seg1, Seg seg2, UWord result, HChar* opname)
{
+ Seg out;
# if SC_SEGS
checkSeg(seg1);
checkSeg(seg2);
# endif
- Seg out;
BINOP(
return BOTTOM,
out = NONPTR, out = UNKNOWN, out = seg2,
@@ -3057,11 +3060,11 @@
// -------------
static VG_REGPARM(3) Seg do_subW(Seg seg1, Seg seg2, UWord result)
{
+ Seg out;
# if SC_SEGS
checkSeg(seg1);
checkSeg(seg2);
# endif
- Seg out;
// Nb: when returning BOTTOM, don't let it go through the range-check;
// a segment linking offset can easily look like a nonptr.
BINOP(
@@ -3081,41 +3084,6 @@
return ( looks_like_a_pointer(result) ? out : NONPTR );
}
-//zz // -------------
-//zz // +-.| n ? p (Nb: not very certain about these ones)
-//zz // -------------
-//zz // n | n ? e
-//zz // ? | ? ? e
-//zz // p | p e e
-//zz // -------------
-//zz static __inline__
-//zz Seg do_adcsbb4(Seg seg1, Seg seg2, Opcode opc)
-//zz {
-//zz Seg out;
-//zz
-//zz VGP_PUSHCC(VgpDoAdcSbb);
-//zz BINOP(
-//zz VGP_POPCC(VgpDoAdcSbb); return BOTTOM,
-//zz out = NONPTR, out = UNKNOWN, BINERROR(opc),
-//zz out = UNKNOWN, out = UNKNOWN, BINERROR(opc),
-//zz out = seg1, BINERROR(opc), BINERROR(opc)
-//zz );
-//zz VGP_POPCC(VgpDoAdcSbb);
-//zz return ( looks_like_a_pointer(do_op___result) ? out : NONPTR );
-//zz }
-//zz
-//zz static __attribute__((regparm(2)))
-//zz Seg do_adc4(Seg seg1, Seg seg2)
-//zz {
-//zz return do_adcsbb4(seg1, seg2, ADC);
-//zz }
-//zz
-//zz static __attribute__((regparm(2)))
-//zz Seg do_sbb4(Seg seg1, Seg seg2)
-//zz {
-//zz return do_adcsbb4(seg1, seg2, SBB);
-//zz }
-
// -------------
// & | n ? p
// -------------
@@ -3180,80 +3148,6 @@
return out;
}
-//zz // -------------
-//zz // L1 | n ? p
-//zz // -------------
-//zz // n | n ? p
-//zz // ? | ? ? p
-//zz // -------------
-//zz static Seg do_lea(Bool k_looks_like_a_ptr, Seg seg1)
-//zz {
-//zz Seg out;
-//zz
-//zz if (BOTTOM == seg1) return BOTTOM;
-//zz
-//zz if (k_looks_like_a_ptr && NONPTR == seg1)
-//zz out = UNKNOWN; // ?(n)
-//zz else
-//zz out = seg1; // n(n), n(?), n(p), ?(?), ?(p)
-//zz
-//zz return ( looks_like_a_pointer(do_op___result) ? out : NONPTR );
-//zz }
-//zz
-//zz static __attribute__((regparm(1)))
-//zz Seg do_lea1_unknown(Seg seg1)
-//zz {
-//zz Seg out;
-//zz
-//zz VGP_PUSHCC(VgpDoLea1);
-//zz out = do_lea( /*k_looks_like_a_ptr*/True, seg1 );
-//zz VGP_POPCC (VgpDoLea1);
-//zz return out;
-//zz }
-//zz
-//zz static UInt do_lea2___k;
-//zz
-//zz static __attribute__((regparm(2)))
-//zz Seg do_lea2_1(Seg seg1, Seg seg2)
-//zz {
-//zz Seg out;
-//zz
-//zz // a) Combine seg1 and seg2 as for ADD, giving a result.
-//zz // b) Combine that result with k as for LEA1.
-//zz VGP_PUSHCC(VgpDoLea2);
-//zz out = do_lea( looks_like_a_pointer(do_lea2___k),
-//zz do_add4_result(seg1, seg2, LEA2) );
-//zz VGP_POPCC (VgpDoLea2);
-//zz return out;
-//zz }
-//zz
-//zz static __attribute__((regparm(2)))
-//zz Seg do_lea2_n(Seg seg1, Seg seg2)
-//zz {
-//zz VGP_PUSHCC(VgpDoLea2);
-//zz VGP_POPCC (VgpDoLea2);
-//zz
-//zz if (is_known_segment(seg2)) {
-//zz // Could do with AsmError
-//zz VG_(message)(Vg_UserMsg,
-//zz "\nScaling known pointer by value > 1 in lea instruction");
-//zz }
-//zz return do_lea(looks_like_a_pointer(do_lea2___k), seg1);
-//zz }
-//zz
-//zz // -------------
-//zz // - | n ? p
-//zz // -------------
-//zz // | n n n
-//zz // -------------
-//zz static __attribute__((regparm(2)))
-//zz Seg do_neg4(Seg seg1, UInt result)
-//zz {
-//zz if (BOTTOM == seg1) return BOTTOM;
-//zz
-//zz return NONPTR;
-//zz }
-
// -------------
// ~ | n ? p
// -------------
@@ -3283,66 +3177,10 @@
}
-//zz static __attribute__((regparm(2)))
-//zz void check_imul4(Seg seg1, Seg seg2)
-//zz {
-//zz if (is_known_segment(seg1) && is_known_segment(seg2))
-//zz record_arith_error(0xA5, 0xA5, seg1, seg2, -VGOFF_(helper_imul_32_64));
-//zz }
-//zz
-//zz // seg1 / seg2: div_64_32 can take a pointer for its 2nd arg (seg1).
-//zz static __attribute__((regparm(2)))
-//zz void check_div4(Seg seg1, Seg seg2)
-//zz {
-//zz if (is_known_segment(seg2))
-//zz record_arith_error(0xA5, 0xA5, seg1, seg2, -VGOFF_(helper_div_64_32));
-//zz }
-//zz
-//zz // seg1 / seg2: idiv_64_32 can take a pointer for its 2nd or 3rd arg
-//zz // (because the 3rd arg, ie. the high-word, will be derived from the
-//zz // low-word with a 'sar' in order to get the sign-bit correct). But we only
-//zz // check the lo-word.
-//zz static __attribute__((regparm(2)))
-//zz void check_idiv4(Seg seg1, Seg seg2)
-//zz {
-//zz if (is_known_segment(seg2))
-//zz record_arith_error(0xA5, 0xA5, seg1, seg2, -VGOFF_(helper_idiv_64_32));
-//zz }
-//zz
-//zz
-//zz /*--------------------------------------------------------------------*/
-//zz /*--- Instrumentation ---*/
-//zz /*--------------------------------------------------------------------*/
-//zz
-//zz static void set_nonptr_or_unknown(UCodeBlock* cb, UInt t)
-//zz {
-//zz sk_assert(0 == t % 2); // check number is even, ie. a normal tempreg
-//zz VG_(ccall_R_R)(cb, (Addr)nonptr_or_unknown,
-//zz t, // t (reg)
-//zz SHADOW(t), // t.vseg (reg)(retval)
-//zz 1);
-//zz }
-//zz
-//zz static void set_shadowreg(UCodeBlock* cb, UInt q, Seg seg)
-//zz {
-//zz sk_assert(1 == q % 2); // check number is odd, ie. a shadow tempreg
-//zz VG_(lit_to_reg)(cb, (UInt)seg, q);
-//zz }
-//zz
-//zz static void set_nonptr(UCodeBlock* cb, UInt q)
-//zz {
-//zz set_shadowreg(cb, q, NONPTR);
-//zz }
-//zz
-//zz __attribute__((unused))
-//zz static void record_binary_arith_args(UCodeBlock* cb, UInt arg1, UInt arg2)
-//zz {
-//zz VG_(reg_to_globvar)(cb, arg1, &actual_arg1);
-//zz VG_(reg_to_globvar)(cb, arg2, &actual_arg2);
-//zz }
+/*--------------------------------------------------------------------*/
+/*--- Instrumentation ---*/
+/*--------------------------------------------------------------------*/
-
-
/* Carries around state during Ptrcheck instrumentation. */
typedef
struct {
@@ -4659,575 +4497,6 @@
ppIRStmt(st);
tl_assert(0);
}
-//zz static UInt bb = 0;
-//zz
-//zz UCodeBlock* cb;
-//zz Int i;
-//zz UInstr* u;
-//zz Addr helper;
-//zz UInt callm_shadow_arg4v[3];
-//zz UInt callm_arg4c = -1;
-//zz
-//zz cb = VG_(setup_UCodeBlock)(cb_in);
-//zz
-//zz // Print BB number upon execution
-//zz if (0)
-//zz VG_(ccall_L_0)(cb, (Addr)print_BB_entry, bb++, 1);
-//zz
-//zz
-//zz for (i = 0; i < VG_(get_num_instrs)(cb_in); i++) {
-//zz u = VG_(get_instr)(cb_in, i);
-//zz
-//zz //-- Start main switch -------------------------------------------
-//zz switch (u->opcode) {
-//zz
-//zz case NOP:
-//zz break;
-//zz
-//zz case LOCK:
-//zz case INCEIP:
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz //--- Value movers -----------------------------------------------
-//zz case MOV:
-//zz // a) Do MOV
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz if (Literal == u->tag1) {
-//zz // MOVL l, t2
-//zz // b) t2.vseg = NONPTR/UNKNOWN
-//zz set_shadowreg(cb, SHADOW(u->val2), nonptr_or_unknown(u->lit32));
-//zz } else {
-//zz // MOVL t1, t2 (only occurs if --optimise=no)
-//zz // b) t2.vseg = t1.vseg
-//zz uInstr2(cb, MOV, 4, TempReg, SHADOW(u->val1),
-//zz TempReg, SHADOW(u->val2));
-//zz }
-//zz } else {
-//zz // MOV[WB] l, t2
-//zz // b) t2.vseg = NONPTR
-//zz sk_assert(Literal == u->tag1);
-//zz set_nonptr(cb, SHADOW(u->val2));
-//zz }
-//zz break;
-//zz
-//zz case CMOV:
-//zz // CMOV t1, t2
-//zz // a) t2.vseg = t1.vseg, if condition holds
-//zz // b) Do CMOV
-//zz sk_assert(4 == u->size);
-//zz uInstr2(cb, CMOV, 4, TempReg, SHADOW(u->val1),
-//zz TempReg, SHADOW(u->val2));
-//zz uCond(cb, u->cond);
-//zz uFlagsRWU(cb, u->flags_r, u->flags_w, FlagsEmpty);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case GET:
-//zz // a) Do GET
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz // GETL r, t2
-//zz // b) t2.vseg = r.vseg
-//zz uInstr2(cb, GETV, 4, ArchReg, u->val1, TempReg, SHADOW(u->val2));
-//zz } else {
-//zz // GET[WB] r, t2
-//zz // b) t2.vseg = NONPTR
-//zz set_nonptr(cb, SHADOW(u->val2));
-//zz }
-//zz break;
-//zz
-//zz case PUT: {
-//zz // a) Do PUT
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz // PUTL t1, r
-//zz // b) r.vseg = t1.vseg
-//zz uInstr2(cb, PUTV, 4, TempReg, SHADOW(u->val1), ArchReg, u->val2);
-//zz } else {
-//zz // PUT[WB] t1, r
-//zz // b) r.vseg = NONPTR/UNKNOWN
-//zz // (GET the result of the PUT[WB], look at the resulting
-//zz // word, PUTV the shadow result. Ugh.)
-//zz UInt t_res = newTemp(cb);
-//zz uInstr2(cb, GET, 4, ArchReg, u->val2, TempReg, t_res);
-//zz set_nonptr_or_unknown(cb, t_res);
-//zz uInstr2(cb, PUTV, 4, TempReg, SHADOW(t_res), ArchReg, u->val2);
-//zz }
-//zz break;
-//zz }
-//zz
-//zz case GETF:
-//zz // GETF t1
-//zz // a) t1.vseg = NONPTR
-//zz // b) Do GETF
-//zz set_nonptr(cb, SHADOW(u->val1));
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case PUTF:
-//zz // PUTF t1
-//zz // a) Do PUTF
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case LOAD:
-//zz // LD[LWB] m, t
-//zz if (4 == u->size) helper = (Addr)check_load4;
-//zz else if (2 == u->size) helper = (Addr)check_load2;
-//zz else if (1 == u->size) helper = (Addr)check_load1;
-//zz else VG_(skin_panic)("bad LOAD size");
-//zz
-//zz // a) Check segments match (in helper)
-//zz // b) t.vseg = m.vseg (helper returns m.vseg)
-//zz // c) Do LOAD (must come after segment check!)
-//zz VG_(ccall_RR_R)(cb, helper,
-//zz u->val1, // m (reg)
-//zz SHADOW(u->val1), // m_ptr.vseg (reg)
-//zz SHADOW(u->val2), // t.vseg (retval)(reg)
-//zz 2);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case STORE:
-//zz if (4 == u->size) {
-//zz // Put t.vseg in globvar-arg
-//zz VG_(reg_to_globvar)(cb, SHADOW(u->val1),
-//zz (UInt*) & check_store4___t_vseg);
-//zz helper = (Addr)check_store4;
-//zz }
-//zz else if (1 == u->size) helper = (Addr)check_store1;
-//zz else if (2 == u->size) helper = (Addr)check_store2;
-//zz else VG_(skin_panic)("bad size for STORE");
-//zz
-//zz // a) Check segments match
-//zz // b) Do STORE (after segment check; done by helper)
-//zz //
-//zz // STL t, m
-//zz // c) if aligned(m), m.vseg = t.vseg
-//zz // else vseg of both words touched set to UNKNOWN
-//zz //
-//zz // ST[WB] t, m
-//zz // c) if non-straddling(m), m.vseg = NONPTR/UNKNOWN
-//zz // else vseg of both words touched set to UNKNOWN
-//zz VG_(ccall_RRR_0)(cb, helper,
-//zz u->val2, // m (reg)
-//zz SHADOW(u->val2), // m_ptr.vseg (reg)
-//zz u->val1, // t (reg)
-//zz 3);
-//zz break;
-//zz
-//zz //--- Binary arithmetic ------------------------------------------
-//zz case ADD: helper = (Addr)do_add4; goto do_add_sub;
-//zz case ADC: helper = (Addr)do_adc4; goto do_add_sub;
-//zz case SUB: helper = (Addr)do_sub4; goto do_add_sub;
-//zz case SBB: helper = (Addr)do_sbb4; goto do_add_sub;
-//zz do_add_sub:
-//zz // a) Do OP (and record result in globvar)
-//zz //record_binary_arith_args(cb, u->val2, t1);
-//zz
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz UInt t1;
-//zz if (Literal == u->tag1) {
-//zz // OPL l, t2
-//zz Seg segL = nonptr_or_unknown(u->lit32);
-//zz t1 = newTemp(cb);
-//zz VG_(lit_to_reg)(cb, u->lit32, t1);
-//zz VG_(lit_to_reg)(cb, (UInt)segL, SHADOW(t1));
-//zz } else if (ArchReg == u->tag1) {
-//zz // OPL r, t2
-//zz t1 = newTemp(cb);
-//zz uInstr2(cb, GET, 4, ArchReg, u->val1, TempReg, t1);
-//zz uInstr2(cb, GETV, 4, ArchReg, u->val1, TempReg, SHADOW(t1));
-//zz } else {
-//zz // OPL t1, t2
-//zz sk_assert(TempReg == u->tag1);
-//zz t1 = u->val1;
-//zz }
-//zz
-//zz // Put result in globvar-arg
-//zz VG_(reg_to_globvar)(cb, u->val2, &do_op___result);
-//zz // b) Check args (if necessary; ok to do after the OP itself)
-//zz // c) Update t.vseg
-//zz VG_(ccall_RR_R)(cb, helper,
-//zz SHADOW(u->val2), // t2.vseg (reg)
-//zz SHADOW(t1), // t1.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)(retval)
-//zz 2);
-//zz } else {
-//zz // OP[WB] x, t2
-//zz // b) t2.vseg = UKNOWN
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz }
-//zz break;
-//zz
-//zz case AND:
-//zz // a) Do AND
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz // ANDL t1, t2
-//zz // Find difference between t1 and t2 (to determine if they're equal)
-//zz // put in globvar-arg
-//zz UInt t_equal = newTemp(cb);
-//zz uInstr2(cb, MOV, 4, TempReg, u->val2, TempReg, t_equal);
-//zz uInstr2(cb, SUB, 4, TempReg, u->val1, TempReg, t_equal);
-//zz VG_(reg_to_globvar)(cb, t_equal, &do_and4___args_diff);
-//zz // Put result in globvar-arg
-//zz VG_(reg_to_globvar)(cb, u->val2, &do_op___result);
-//zz // b) Update t2.vseg
-//zz VG_(ccall_RR_R)(cb, (Addr)do_and4,
-//zz SHADOW(u->val1), // t1.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)(retval)
-//zz 2);
-//zz } else {
-//zz // AND[WB] t1, t2
-//zz // b) t2.vseg = NONPTR/UNKNOWN
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz }
-//zz break;
-//zz
-//zz case OR:
-//zz // a) Do OR
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz // ORL t1, t2
-//zz // Put result in globvar-arg
-//zz VG_(reg_to_globvar)(cb, u->val2, &do_op___result);
-//zz // b) Update t2.vseg
-//zz VG_(ccall_RR_R)(cb, (Addr)do_or4,
-//zz SHADOW(u->val1), // t1.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)(retval)
-//zz 2);
-//zz } else {
-//zz // OR[WB] t1, t2
-//zz // b) t2.vseg = NONPTR/UNKNOWN
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz }
-//zz break;
-//zz
-//zz // With XOR, the result is likely to be a nonptr, but could
-//zz // occasionally not be due to weird things like xor'ing a pointer with
-//zz // zero, or using the xor trick for swapping two variables. So,
-//zz // simplest thing is to just look at the range.
-//zz case XOR:
-//zz // XOR[LWB] x, t2
-//zz // a) Do XOR
-//zz // b) t2.vseg = NONPTR/UNKNOWN
-//zz VG_(copy_UInstr)(cb, u);
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz break;
-//zz
-//zz // Nb: t1 is always 1-byte, and thus never a pointer.
-//zz case SHL: case SHR: case SAR:
-//zz case ROL: case ROR:
-//zz // SHROT x, t2
-//zz // a) Do SHROT
-//zz // b) t2.vseg = NONPTR/UNKNOWN
-//zz VG_(copy_UInstr)(cb, u);
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz break;
-//zz
-//zz // LEA2 t1,t2,t3: t3 = lit32 + t1 + (t2 * extra4b)
-//zz // Used for pointer computations, and for normal arithmetic (eg.
-//zz // "lea (%r1,%r1,4),%r2" multiplies by 5).
-//zz case LEA2:
-//zz sk_assert(4 == u->size);
-//zz // a) Do LEA2
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (1 == u->extra4b) {
-//zz // t3 = lit32 + t1 + (t2*1) (t2 can be pointer)
-//zz helper = (Addr)do_lea2_1;
-//zz } else {
-//zz // t3 = lit32 + t1 + (t2*n) (t2 cannot be pointer)
-//zz helper = (Addr)do_lea2_n;
-//zz }
-//zz // Put k in globvar-arg
-//zz VG_(lit_to_globvar)(cb, u->lit32, &do_lea2___k);
-//zz // Put result in globvar-arg
-//zz VG_(reg_to_globvar)(cb, u->val3, &do_op___result);
-//zz // b) Check args
-//zz // c) Update t3.vseg
-//zz VG_(ccall_RR_R)(cb, helper,
-//zz SHADOW(u->val1), // t1.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)
-//zz SHADOW(u->val3), // t3.vseg (reg)(retval)
-//zz 2);
-//zz break;
-//zz
-//zz //--- Unary arithmetic -------------------------------------------
-//zz case NEG: helper = (Addr)do_neg4; goto do_neg_not;
-//zz case NOT: helper = (Addr)do_not4; goto do_neg_not;
-//zz do_neg_not:
-//zz // a) Do NEG/NOT
-//zz VG_(copy_UInstr)(cb, u);
-//zz if (4 == u->size) {
-//zz // NEGL/NOTL t1
-//zz // b) Check args (NEG only)
-//zz // c) Update t1.vseg
-//zz VG_(ccall_RR_R)(cb, helper,
-//zz SHADOW(u->val1), // t1.vseg (reg)
-//zz u->val2, // t2 (reg)
-//zz SHADOW(u->val1), // t1.vseg (reg)(retval)
-//zz 2);
-//zz } else {
-//zz // NEG[WB]/NOT[WB] t1
-//zz // b) Update t1.vseg
-//zz set_nonptr_or_unknown(cb, u->val2);
-//zz }
-//zz break;
-//zz
-//zz case INC:
-//zz case DEC:
-//zz // INC[LWB]/DEC[LWB] t1
-//zz // a) Do INC/DEC
-//zz // b) t1.vseg unchanged (do nothing)
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case LEA1:
-//zz sk_assert(4 == u->size);
-//zz // LEA1 k(t1), t2
-//zz // b) Do LEA1
-//zz VG_(copy_UInstr)(cb, u);
-//zz if ( ! looks_like_a_pointer(u->lit32) ) {
-//zz // a) simple, 99.9% case: k is a known nonptr, t2.vseg = t1.vseg
-//zz uInstr2(cb, MOV, 4, TempReg, SHADOW(u->val1),
-//zz TempReg, SHADOW(u->val2));
-//zz } else {
-//zz // Put result in globvar-arg (not strictly necessary, because we
-//zz // have a spare CCALL slot, but do it for consistency)
-//zz VG_(reg_to_globvar)(cb, u->val2, &do_op___result);
-//zz // a) complicated, 0.1% case: k could be a pointer
-//zz VG_(ccall_R_R)(cb, (Addr)do_lea1_unknown,
-//zz SHADOW(u->val1), // t1.vseg (reg)
-//zz SHADOW(u->val2), // t2.vseg (reg)(retval)
-//zz 1);
-//zz }
-//zz break;
-//zz
-//zz //--- End of arithmetic ------------------------------------------
-//zz
-//zz case WIDEN:
-//zz // WIDEN t1
-//zz // a) Do WIDEN
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case CC2VAL:
-//zz // CC2VAL t1
-//zz // a) t1.vseg = NONPTR
-//zz // b) Do CC2VAL
-//zz set_nonptr(cb, SHADOW(u->val1));
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case BSWAP:
-//zz // BSWAP t1
-//zz // a) t1.vseg = UNKNOWN
-//zz // b) Do BSWAP
-//zz set_nonptr_or_unknown(cb, u->val1);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case JIFZ:
-//zz case JMP:
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz //--- CALLM and related ------------------------------------------
-//zz // Basic form of CALLMs, as regexp:
-//zz // CALLM_S (GET? PUSH)* CALLM (POP PUT? | CLEAR)* CALLM_E
-//zz //
-//zz // How we're doing things:
-//zz // - PUSH: Args will be popped/cleared, so no need to set the shadows.
-//zz // Check input depending on the callee.
-//zz // - CALLM: Do nothing, already checked inputs on PUSH.
-//zz // - POP: Depending on the callee, set popped outputs as
-//zz // pointer/non-pointer. But all callees seem to produce
-//zz // NONPTR outputs, so just set output arg so straight off.
-//zz case CALLM_S:
-//zz sk_assert(-1 == callm_arg4c);
-//zz callm_arg4c = 0;
-//zz break;
-//zz
-//zz case CALLM_E:
-//zz sk_assert(-1 != callm_arg4c);
-//zz callm_arg4c = -1;
-//zz break;
-//zz
-//zz case PUSH:
-//zz sk_assert(-1 != callm_arg4c);
-//zz if (4 == u->size) {
-//zz // PUSHL t1
-//zz callm_shadow_arg4v[ callm_arg4c++ ] = SHADOW(u->val1);
-//zz }
-//zz // a) Do PUSH
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz // All the ops using helpers certainly don't return pointers, except
-//zz // possibly, sh[rl]dl. I'm not sure about them, but make the result
-//zz // NONPTR anyway.
-//zz case POP:
-//zz // POP t1
-//zz // a) set t1.vseg == NONPTR
-//zz // b) Do POP
-//zz sk_assert(-1 != callm_arg4c);
-//zz set_nonptr(cb, SHADOW(u->val1));
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case CLEAR:
-//zz sk_assert(-1 != callm_arg4c);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case CALLM:
-//zz if (!(0 <= callm_arg4c && callm_arg4c <= 4)) {
-//zz VG_(printf)("callm_arg4c = %d\n", callm_arg4c);
-//zz VG_(skin_panic)("bleh");
-//zz }
-//zz
-//zz #define V(name) (VGOFF_(helper_##name) == u->val1)
-//zz
-//zz if (V(mul_32_64)) {
-//zz sk_assert(2 == callm_arg4c);
-//zz VG_(ccall_RR_0)(cb, (Addr)check_mul4,
-//zz callm_shadow_arg4v[1], // arg2.vseg (reg)
-//zz callm_shadow_arg4v[0], // arg1.vseg (reg)
-//zz 2);
-//zz
-//zz } else if (V(imul_32_64)) {
-//zz sk_assert(2 == callm_arg4c);
-//zz VG_(ccall_RR_0)(cb, (Addr)check_imul4,
-//zz callm_shadow_arg4v[1], // arg2.vseg (reg)
-//zz callm_shadow_arg4v[0], // arg1.vseg (reg)
-//zz 2);
-//zz
-//zz } else if (V(div_64_32)) {
-//zz sk_assert(3 == callm_arg4c);
-//zz VG_(ccall_RR_0)(cb, (Addr)check_div4,
-//zz callm_shadow_arg4v[1], // arg2.vseg (reg)
-//zz callm_shadow_arg4v[0], // arg1.vseg (reg)
-//zz 2);
-//zz
-//zz } else if (V(idiv_64_32)) {
-//zz sk_assert(3 == callm_arg4c);
-//zz VG_(ccall_RR_0)(cb, (Addr)check_idiv4,
-//zz callm_shadow_arg4v[1], // arg2.vseg (reg)
-//zz callm_shadow_arg4v[0], // arg1.vseg (reg)
-//zz 2);
-//zz
-//zz } else if (V(shldl) || V(shrdl)) {
-//zz sk_assert(2 == callm_arg4c);
-//zz // a) Do shrdl/shldl
-//zz
-//zz } else if (V(bsf) || V(bsr)) {
-//zz // Shouldn't take a pointer? Don't bother checking.
-//zz sk_assert(2 == callm_arg4c);
-//zz
-//zz } else if (V(get_dirflag)) {
-//zz // This always has zero pushed as the arg.
-//zz sk_assert(1 == callm_arg4c);
-//zz
-//zz } else if (V(RDTSC)) { sk_assert(2 == callm_arg4c);
-//zz } else if (V(CPUID)) { sk_assert(4 == callm_arg4c);
-//zz } else if (V(SAHF)) { sk_assert(1 == callm_arg4c);
-//zz } else if (V(LAHF)) { sk_assert(1 == callm_arg4c);
-//zz } else if (V(fstsw_AX)) { sk_assert(1 == callm_arg4c);
-//zz
-//zz } else {
-//zz // Others don't take any word-sized args
-//zz //sk_assert(0 == callm_arg4c);
-//zz if (0 != callm_arg4c) {
-//zz VG_(printf)("callm_arg4c = %d, %d, %d\n",
-//zz callm_arg4c, VGOFF_(helper_RDTSC), u->val1);
-//zz sk_assert(1 == 0);
-//zz }
-//zz }
-//zz
-//zz #undef V
-//zz
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz //--- End of CALLM and related -----------------------------------
-//zz
-//zz case FPU:
-//zz case MMX1: case MMX2: case MMX3:
-//zz case SSE3: case SSE4: case SSE5:
-//zz // a) Do FPU/MMX[123]/SSE[345]
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz // We check the load, but don't do any updating, because the read is
-//zz // into FPU/MMX/SSE regs which we don't shadow.
-//zz case FPU_R:
-//zz case MMX2_MemRd:
-//zz switch (u->size) {
-//zz case 2: helper = (Addr)check_fpu_r2; break;
-//zz case 4: helper = (Addr)check_fpu_r4; break;
-//zz case 8: helper = (Addr)check_fpu_r8; break;
-//zz case 10: helper = (Addr)check_fpu_r10; break;
-//zz case 16: helper = (Addr)check_fpu_r16; break;
-//zz case 28: helper = (Addr)check_fpu_r28; break;
-//zz case 108: helper = (Addr)check_fpu_r108; break;
-//zz default: VG_(skin_panic)("bad FPU_R/MMX/whatever size");
-//zz }
-//zz // FPU_R, MMX2_MemRd
-//zz // a) Check segments match (in helper)
-//zz // b) Do FPU_R/MMX2_MemRd
-//zz VG_(ccall_RR_0)(cb, helper,
-//zz u->val2, // m (reg)
-//zz SHADOW(u->val2), // m_ptr.vseg (reg)
-//zz 2);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz
-//zz case FPU_W: {
-//zz case MMX2_MemWr:
-//zz switch (u->size) {
-//zz case 2: helper = (Addr)check_fpu_w2; break;
-//zz case 4: helper = (Addr)check_fpu_w4; break;
-//zz case 8: helper = (Addr)check_fpu_w8; break;
-//zz case 10: helper = (Addr)check_fpu_w10; break;
-//zz case 16: helper = (Addr)check_fpu_w16; break;
-//zz case 28: helper = (Addr)check_fpu_w28; break;
-//zz case 108: helper = (Addr)check_fpu_w108; break;
-//zz default: VG_(skin_panic)("bad FPU_W/MMX/whatever size");
-//zz }
-//zz // FPU_W, MMX2_MemWr
-//zz // a) Check segments match (in helper)
-//zz // b) m.vseg = NONPTR, for each touched memory word
-//zz // c) Do FPU_W/MMX2_MemWr
-//zz VG_(ccall_RR_0)(cb, helper,
-//zz u->val2, // m (reg)
-//zz SHADOW(u->val2), // m_ptr.vseg (reg)
-//zz 2);
-//zz VG_(copy_UInstr)(cb, u);
-//zz break;
-//zz }
-//zz
-//zz default:
-//zz VG_(pp_UInstr)(0, u);
-//zz VG_(skin_panic)("Redux: unhandled instruction");
-//zz }
-//zz //-- End main switch ---------------------------------------------
-//zz }
-//zz
-//zz VG_(free_UCodeBlock)(cb_in);
-//zz
-//zz // Optimisations
-//zz // {
-//zz // Int* live_range_ends = VG_(find_live_range_ends)(cb);
-//zz // VG_(redundant_move_elimination)(cb, live_range_ends);
-//zz // VG_(free_live_range_ends)(live_range_ends);
-//zz // }
-//zz
-//zz return cb;
}
@@ -5353,34 +4622,6 @@
static void pc_pre_clo_init ( void )
{
-//zz Int i;
-//zz // 0-terminated arrays
-//zz Addr compact_helpers[] = {
-//zz (Addr) do_lea1_unknown, (Addr) do_sub4,
-//zz (Addr) check_load4, (Addr) check_store4,
-//zz (Addr) do_add4, (Addr) do_and4,
-//zz (Addr) do_or4, (Addr) nonptr_or_unknown,
-//zz 0
-//zz };
-//zz Addr noncompact_helpers[] = {
-//zz (Addr) do_lea2_1, (Addr) do_lea2_n,
-//zz (Addr) do_adc4, (Addr) do_sbb4,
-//zz (Addr) do_neg4, (Addr) do_not4,
-//zz (Addr) print_BB_entry,
-//zz (Addr) check_load1, (Addr) check_store1,
-//zz (Addr) check_load2, (Addr) check_store2,
-//zz (Addr) check_imul4, (Addr) check_mul4,
-//zz (Addr) check_idiv4, (Addr) check_div4,
-//zz (Addr) check_fpu_r2, (Addr) check_fpu_w2,
-//zz (Addr) check_fpu_r4, (Addr) check_fpu_w4,
-//zz (Addr) check_fpu_r8, (Addr) check_fpu_w8,
-//zz (Addr) check_fpu_r10, (Addr) check_fpu_w10,
-//zz (Addr) check_fpu_r16, (Addr) check_fpu_w16,
-//zz (Addr) check_fpu_r28, (Addr) check_fpu_w28,
-//zz (Addr) check_fpu_r108, (Addr) check_fpu_w108,
-//zz 0
-//zz };
-
VG_(details_name) ("exp-ptrcheck");
VG_(details_version) (NULL);
VG_(details_description) ("a pointer-use checker");
@@ -5457,33 +4698,6 @@
//zz VG_(track_post_reg_write_clientreq_return) ( post_reg_write_nonptr );
VG_(track_post_reg_write_clientcall_return) ( post_reg_write_clientcall );
VG_(track_post_reg_write)( post_reg_write_demux );
-//zz
-//zz // Helpers
-//zz for (i = 0; compact_helpers[i] != 0; i++)
-//zz VG_(register_compact_helper)( compact_helpers[i] );
-//zz
-//zz for (i = 0; noncompact_helpers[i] != 0; i++)
-//zz VG_(register_noncompact_helper)( noncompact_helpers[i] );
-//zz
-//zz // Profiling events
-//zz #define P(a,b) VGP_(register_profile_event)(a,b);
-//zz P(VgpGetMemAseg, "get-mem-aseg");
-//zz P(VgpCheckLoadStore, "check-load-store");
-//zz P(VgpCheckLoad4, "check-load4");
-//zz P(VgpCheckLoad21, "check-load21");
-//zz P(VgpCheckStore4, "check-store4");
-//zz P(VgpCheckStore21, "check-store21");
-//zz P(VgpCheckFpuR, "check-fpu-r");
-//zz P(VgpCheckFpuW, "check-fpu-w");
-//zz P(VgpDoAdd, "do-add");
-//zz P(VgpDoSub, "do-sub");
-//zz P(VgpDoAdcSbb, "do-adc-sbb");
-//zz P(VgpDoXor, "do-xor");
-//zz P(VgpDoAnd, "do-and");
-//zz P(VgpDoOr, "do-or");
-//zz P(VgpDoLea1, "do-lea1");
-//zz P(VgpDoLea2, "do-lea2");
-//zz #undef P
// Other initialisation
init_shadow_memory();
|
|
From: <sv...@va...> - 2008-08-02 06:40:59
|
Author: sewardj
Date: 2008-08-02 07:41:04 +0100 (Sat, 02 Aug 2008)
New Revision: 8492
Log:
Tidy up the settings/use of MAX_FORWARD, now that the root cause of
crashes caused by overruns of arrays of forwarding pointers has been
fixed by r8478.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_list.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_list.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-08-01 16:57:17 UTC (rev 8491)
+++ branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-08-02 06:41:04 UTC (rev 8492)
@@ -121,7 +121,7 @@
// Miscellaneous
//-------------------------------------------------------------------
-#define MAX_FORWARD (8*sizeof(Addr)) // Maximum number of forward pointers
+#define MAX_FORWARD 32
static void print_Addr(Addr a)
{
@@ -866,6 +866,11 @@
// put a new node in the list for this 'a'
Int newLevel = ISList__randomLevel(o);
+ // most likely reason for this to fail is that normalizedRandom isn't
+ // working properly. It is supposed to generate numbers uniformly
+ // in the range [0.0 .. 1.0), hence with a mean of 0.5.
+ tl_assert(newLevel < MAX_FORWARD-1);
+
if (newLevel > o->maxLevel){
// New node is bigger than any previous, add the header node to the
// update vector for the new levels.
|
|
From: Tom H. <th...@cy...> - 2008-08-02 03:04:40
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-08-02 03:15:03 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 == 345 tests, 60 stderr failures, 1 stdout failure, 29 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-02 02:56:33
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-08-02 03:20:05 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 == 443 tests, 8 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (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 == 443 tests, 9 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Aug 2 03:38:31 2008 --- new.short Sat Aug 2 03:56:41 2008 *************** *** 8,10 **** ! == 443 tests, 9 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/file_locking (stderr) --- 8,10 ---- ! == 443 tests, 8 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/file_locking (stderr) *************** *** 18,20 **** helgrind/tests/tc22_exit_w_lock (stderr) - drd/tests/pth_inconsistent_cond_wait (stderr) --- 18,19 ---- |
|
From: Tom H. <th...@cy...> - 2008-08-02 02:43:06
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-08-02 03:05:06 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 437 tests, 6 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-02 02:41:54
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-08-02 03:25:06 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 441 tests, 8 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-02 02:23:26
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-08-02 03:00:02 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 == 443 tests, 31 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |