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
(33) |
2
(15) |
3
(20) |
4
(22) |
5
(13) |
|
6
(12) |
7
(32) |
8
(17) |
9
(31) |
10
(21) |
11
(7) |
12
(13) |
|
13
(13) |
14
(12) |
15
(10) |
16
(8) |
17
(7) |
18
(28) |
19
(5) |
|
20
(5) |
21
(7) |
22
(11) |
23
(7) |
24
(13) |
25
(7) |
26
(7) |
|
27
(7) |
28
(15) |
29
(30) |
30
(21) |
31
(6) |
|
|
|
From: <sv...@va...> - 2008-07-30 11:51:10
|
Author: bart Date: 2008-07-30 12:51:17 +0100 (Wed, 30 Jul 2008) New Revision: 8488 Log: Print a comprehensible error message if autogen.sh has been run on a system where pkg-config was not installed. Modified: branches/DRDDEV/configure.in Modified: branches/DRDDEV/configure.in =================================================================== --- branches/DRDDEV/configure.in 2008-07-30 11:08:16 UTC (rev 8487) +++ branches/DRDDEV/configure.in 2008-07-30 11:51:17 UTC (rev 8488) @@ -51,7 +51,11 @@ AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], [--with-vex=$VEX_DIR]) # pkg-config initialization. -PKG_PROG_PKG_CONFIG() +ifdef( +[PKG_PROG_PKG_CONFIG], +[PKG_PROG_PKG_CONFIG()], +[echo "Error: pkg-config must be installed before autogen.sh is run."; exit 1] +) # Checks for programs. CFLAGS="-Wno-long-long" |
|
From: Bart V. A. <bar...@gm...> - 2008-07-30 11:34:41
|
On Wed, Jul 30, 2008 at 11:31 AM, Julian Seward <js...@ac...> wrote:
>
> Is it at least possible to arrange it so that configure does not fail
> if pkg-config is not installed? I don't want to acquire a dependency
> on pkg-config.
>
> Also, what happens if I want to use a non-default Qt4, that is, one which
> I build from source and pkg-config knows nothing about? What then?
The configure.in file as present on the DRDDEV branch has the
following properties:
* pkg-config must be installed before running ./autogen.sh such that
the PKG_* macro definitions can be expanded properly.
* When running ./configure on a system where pkg-config has not been
installed, configure will finish successfully but will print the
following message (can be simulated e.g. as follows: ./configure
PKG_CONFIG=pkg-config-has-not-been-installed):
checking pkg-config is at least version 0.9.0... ./configure: line
2548: pkg-config: command not found no
The above message will be printed whether or not the QTCORE_CFLAGS and
QTCORE_LIBS variables have been passed to the configure script.
* When running ./configure on a system where pkg-config has been
installed, pkg-config will be used to find out QTCORE_CFLAGS and
QTCORE_LIBS.
Is this behavior acceptable ?
Bart.
configure.in patch:
@@ -50,6 +50,9 @@
# place.
AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], [--with-vex=$VEX_DIR])
+# pkg-config initialization.
+PKG_PROG_PKG_CONFIG()
+
# Checks for programs.
CFLAGS="-Wno-long-long"
@@ -1251,15 +1254,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 +1267,6 @@
AC_TYPE_SIGNAL
AC_CHECK_LIB([rt], [clock_gettime])
-AC_CHECK_LIB([QtCore], [_ZN6QMutex4lockEv]) # QMutex::lock()
AC_CHECK_FUNCS([ \
clock_gettime\
@@ -1401,26 +1394,17 @@
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 ?
+# Has the QtCore package been installed ?
-AC_MSG_CHECKING([for Qt4 core library])
-
-AC_TRY_COMPILE([ ],
-[
-#if ! defined(HAVE_LIBQTCORE) || ! defined(HAVE_QTCORE_QMUTEX)
-#error Qt4 not supported.
-#endif
- return 0;
-],
+PKG_CHECK_EXISTS([QtCore],
[
+ PKG_CHECK_MODULES([QTCORE], [QtCore])
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])
|
|
From: <sv...@va...> - 2008-07-30 11:08:09
|
Author: bart Date: 2008-07-30 12:08:16 +0100 (Wed, 30 Jul 2008) New Revision: 8487 Log: Removed glib-2.0 and gthread-2.0 package detection tests again. Modified: branches/DRDDEV/configure.in Modified: branches/DRDDEV/configure.in =================================================================== --- branches/DRDDEV/configure.in 2008-07-30 10:42:47 UTC (rev 8486) +++ branches/DRDDEV/configure.in 2008-07-30 11:08:16 UTC (rev 8487) @@ -1394,13 +1394,11 @@ AM_CONDITIONAL(BUILD_MPIWRAP_SEC, test x$ac_have_mpi2_sec = xyes) -# Have the glib-2.0, gthread-2.0 and QtCore packages been installed ? +# Has the QtCore package been installed ? -PKG_CHECK_EXISTS([glib-2.0 gthread-2.0 QtCore], +PKG_CHECK_EXISTS([QtCore], [ - PKG_CHECK_MODULES([GLIB2], [glib-2.0]) - PKG_CHECK_MODULES([GTHREAD2], [gthread-2.0]) - PKG_CHECK_MODULES([QTCORE], [QtCore]) + PKG_CHECK_MODULES([QTCORE], [QtCore]) ac_have_qtcore=yes ], [ |
|
From: <sv...@va...> - 2008-07-30 10:42:38
|
Author: bart
Date: 2008-07-30 11:42:47 +0100 (Wed, 30 Jul 2008)
New Revision: 8486
Log:
Added package checks for glib-2.0 and gthread-2.0. Fixed QMutex::tryLock(int) test.
Modified:
branches/DRDDEV/configure.in
Modified: branches/DRDDEV/configure.in
===================================================================
--- branches/DRDDEV/configure.in 2008-07-30 10:42:09 UTC (rev 8485)
+++ branches/DRDDEV/configure.in 2008-07-30 10:42:47 UTC (rev 8486)
@@ -1394,17 +1394,19 @@
AM_CONDITIONAL(BUILD_MPIWRAP_SEC, test x$ac_have_mpi2_sec = xyes)
-# Has the QtCore package been installed ?
+# Have the glib-2.0, gthread-2.0 and QtCore packages been installed ?
-PKG_CHECK_MODULES(
-[QTCORE],
-[QtCore],
+PKG_CHECK_EXISTS([glib-2.0 gthread-2.0 QtCore],
[
+ PKG_CHECK_MODULES([GLIB2], [glib-2.0])
+ PKG_CHECK_MODULES([GTHREAD2], [gthread-2.0])
+ PKG_CHECK_MODULES([QTCORE], [QtCore])
ac_have_qtcore=yes
],
[
ac_have_qtcore=no
-])
+]
+)
AM_CONDITIONAL([HAVE_QTCORE], [test x$ac_have_qtcore = xyes])
@@ -1414,6 +1416,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>
],
@@ -1430,6 +1434,7 @@
[
AC_MSG_RESULT([no])
])
+ CXXFLAGS="${safe_CXXFLAGS}"
AC_LANG(C)
fi
|
|
From: <sv...@va...> - 2008-07-30 10:42:00
|
Author: sewardj
Date: 2008-07-30 11:42:09 +0100 (Wed, 30 Jul 2008)
New Revision: 8485
Log:
Fix guest-reg-array stuff on x86/amd64; wrap ppc32-linux specific syscalls
in ifdefs.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-07-30 10:41:54 UTC (rev 8484)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-07-30 10:42:09 UTC (rev 8485)
@@ -1930,8 +1930,40 @@
static Bool is_integer_guest_reg_array ( IRRegArray* arr )
{
+ /* --------------------- x86 --------------------- */
+# if defined(VGA_x86)
+ /* The x87 tag array. */
+ if (arr->base == offsetof(VexGuestX86State,guest_FPTAG[0])
+ && arr->elemTy == Ity_I8 && arr->nElems == 8)
+ return False;
+ /* The x87 register array. */
+ if (arr->base == offsetof(VexGuestX86State,guest_FPREG[0])
+ && arr->elemTy == Ity_F64 && arr->nElems == 8)
+ return False;
+
+ VG_(printf)("is_integer_guest_reg_array(x86): unhandled: ");
+ ppIRRegArray(arr);
+ VG_(printf)("\n");
+ tl_assert(0);
+
+ /* -------------------- amd64 -------------------- */
+# elif defined(VGA_amd64)
+ /* The x87 tag array. */
+ if (arr->base == offsetof(VexGuestAMD64State,guest_FPTAG[0])
+ && arr->elemTy == Ity_I8 && arr->nElems == 8)
+ return False;
+ /* The x87 register array. */
+ if (arr->base == offsetof(VexGuestAMD64State,guest_FPREG[0])
+ && arr->elemTy == Ity_F64 && arr->nElems == 8)
+ return False;
+
+ VG_(printf)("is_integer_guest_reg_array(amd64): unhandled: ");
+ ppIRRegArray(arr);
+ VG_(printf)("\n");
+ tl_assert(0);
+
/* -------------------- ppc32 -------------------- */
-# if defined(VGA_ppc32)
+# elif defined(VGA_ppc32)
/* The redir stack. */
//if (arr->base == offsetof(VexGuestPPC64State,guest_REDIR_STACK[0])
// && arr->elemTy == Ity_I64
@@ -2298,7 +2330,9 @@
# endif
case __NR_fdatasync:
case __NR_fstatfs:
+# if defined(__NR_statfs64)
case __NR_statfs64:
+# endif
case __NR_fsync:
case __NR_ftruncate:
# if defined(__NR_ftruncate64)
@@ -2377,7 +2411,9 @@
# if defined(__NR_shutdown)
case __NR_shutdown:
# endif
+# if defined(__NR_sigreturn)
case __NR_sigreturn: /* not sure if we should see this or not */
+# endif
case __NR_statfs:
case __NR_symlink:
case __NR_sysinfo:
@@ -2390,7 +2426,9 @@
case __NR_umask:
case __NR_unlink:
case __NR_utime:
+# if defined(__NR_waitpid)
case __NR_waitpid:
+# endif
case __NR_wait4:
case __NR_writev:
VG_(set_syscall_return_shadows)( tid, (UWord)NONPTR, 0 );
@@ -4156,7 +4194,6 @@
case Ist_PutI: {
IRRegArray* descr = st->Ist.PutI.descr;
-pce->trace=True;
stmt( 'C', pce, st );
tl_assert(descr && descr->elemTy);
if (is_integer_guest_reg_array(descr)) {
@@ -4174,7 +4211,6 @@
)
);
}
-tl_assert(0);
break;
}
|
|
From: <sv...@va...> - 2008-07-30 10:41:45
|
Author: bart
Date: 2008-07-30 11:41:54 +0100 (Wed, 30 Jul 2008)
New Revision: 8484
Log:
Added yet another Qt4 suppression pattern.
Modified:
branches/DRDDEV/glibc-2.X-drd.supp
Modified: branches/DRDDEV/glibc-2.X-drd.supp
===================================================================
--- branches/DRDDEV/glibc-2.X-drd.supp 2008-07-30 10:00:25 UTC (rev 8483)
+++ branches/DRDDEV/glibc-2.X-drd.supp 2008-07-30 10:41:54 UTC (rev 8484)
@@ -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: Bart V. A. <bar...@gm...> - 2008-07-30 10:35:02
|
On Wed, Jul 30, 2008 at 11:55 AM, Julian Seward <js...@ac...> wrote: > Well ok :-), but how about if I am trying to build against Qt4 on a > machine which doesn't have pkg-config installed? Using pkg-config > seems ok providing it doesn't induce a hard dependency; but I think > there needs to be a way to force the build to use a particular path > to Qt4 if pkg-config is either missing or doesn't produce the required > results for whatever reason. Maybe something like a --with-qt4= > configure flag? Since the file /usr/share/aclocal/pkg.m4 is distributed under the GPLv2 license, we could distribute this file together with Valgrind. This would require less work than implementing a --with-qt4 configure option. Does anyone know whether it is possible to start autoconf in such a way that m4 reads the system-provided pkg.m4 if present, and the pkg.m4 file distributed with Valgrind if there is no system-provided pkg.m4 ? Bart. |
|
From: Bart V. A. <bar...@gm...> - 2008-07-30 10:03:43
|
On Wed, Jul 30, 2008 at 11:48 AM, Tom Hughes <to...@co...> wrote:
> In message <200...@ac...>
> Julian Seward <js...@ac...> wrote:
>
>> Also, what happens if I want to use a non-default Qt4, that is, one which
>> I build from source and pkg-config knows nothing about? What then?
>
> Then you set PKG_CONFIG_PATH to point at the directory with the .pc
> file for your build ;-)
Another approach is to pass the path to the non-default Qt4 through
the variables added by pkg-config to the configure script:
$ ./configure -h
...
QTCORE_CFLAGS
C compiler flags for QTCORE, overriding pkg-config
QTCORE_LIBS linker flags for QTCORE, overriding pkg-config
...
Bart.
|
|
From: Julian S. <js...@ac...> - 2008-07-30 10:03:41
|
On Wednesday 30 July 2008 11:48, Tom Hughes wrote: > In message <200...@ac...> > Julian Seward <js...@ac...> wrote: > > > Also, what happens if I want to use a non-default Qt4, that is, one which > > I build from source and pkg-config knows nothing about? What then? > > Then you set PKG_CONFIG_PATH to point at the directory with the .pc > file for your build ;-) Well ok :-), but how about if I am trying to build against Qt4 on a machine which doesn't have pkg-config installed? Using pkg-config seems ok providing it doesn't induce a hard dependency; but I think there needs to be a way to force the build to use a particular path to Qt4 if pkg-config is either missing or doesn't produce the required results for whatever reason. Maybe something like a --with-qt4= configure flag? J |
|
From: <sv...@va...> - 2008-07-30 10:00:18
|
Author: sewardj
Date: 2008-07-30 11:00:25 +0100 (Wed, 30 Jul 2008)
New Revision: 8483
Log:
Make exp-ptrcheck work on ppc{32,64}-linux. Also, fix nasty kludges
to do with GetI and PutI in pc_instrument; these should now be handled
correctly.
Modified:
branches/PTRCHECK/coregrind/m_debuginfo/d3basics.c
branches/PTRCHECK/coregrind/m_machine.c
branches/PTRCHECK/exp-ptrcheck/pc_list.c
branches/PTRCHECK/exp-ptrcheck/pc_main.c
branches/PTRCHECK/none/tests/ppc32/Makefile.am
branches/PTRCHECK/none/tests/ppc64/Makefile.am
Modified: branches/PTRCHECK/coregrind/m_debuginfo/d3basics.c
===================================================================
--- branches/PTRCHECK/coregrind/m_debuginfo/d3basics.c 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/coregrind/m_debuginfo/d3basics.c 2008-07-30 10:00:25 UTC (rev 8483)
@@ -461,7 +461,6 @@
&& expr[0] == DW_OP_regx) {
/* JRS: 2008Feb20: I believe the following is correct, but would
like to see a test case show up before enabling it. */
- vg_assert(0);
expr++;
res.kind = GXR_RegNo;
res.word = (UWord)read_leb128U( &expr );
@@ -472,7 +471,7 @@
/*NOTREACHED*/
}
- /* Evidently this expresion denotes a value, not a register name.
+ /* Evidently this expression denotes a value, not a register name.
So evaluate it accordingly. */
if (push_initial_zero)
Modified: branches/PTRCHECK/coregrind/m_machine.c
===================================================================
--- branches/PTRCHECK/coregrind/m_machine.c 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/coregrind/m_machine.c 2008-07-30 10:00:25 UTC (rev 8483)
@@ -86,6 +86,9 @@
# elif defined(VGP_amd64_linux)
VG_(threads)[tid].arch.vex_shadow1.guest_RAX = s1;
VG_(threads)[tid].arch.vex_shadow2.guest_RAX = s2;
+# elif defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
+ VG_(threads)[tid].arch.vex_shadow1.guest_GPR3 = s1;
+ VG_(threads)[tid].arch.vex_shadow2.guest_GPR3 = s2;
# else
# error "Unknown plat"
# endif
Modified: branches/PTRCHECK/exp-ptrcheck/pc_list.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-07-30 10:00:25 UTC (rev 8483)
@@ -142,9 +142,9 @@
Interval* Interval__construct(Addr left, Addr right, Bool is_zero,
ExeContext* where, SegStatus status)
{
+ Interval* o = my_malloc( sizeof(Interval) );
if (0) VG_(printf)("Interval__construct(%p,%p,%d)\n",
left, right, (Int)is_zero);
- Interval* o = my_malloc( sizeof(Interval) );
o->left = left;
o->right = right;
o->is_zero = is_zero;
@@ -154,6 +154,7 @@
return o;
}
+__attribute__((unused))
static
void Interval__destruct(Interval* o)
{
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-07-30 10:00:25 UTC (rev 8483)
@@ -31,7 +31,11 @@
// FIXME: 64-bit cleanness, check the following
// struct _ISNode.ownerCount is 32-bit
// struct _ISNode.topLevel is 32-bit
+// or is that not really right now? add assertion checks about
+// the max size of a node
+// FIXME: should we shadow %RIP? Maybe not.
+
// FIXME: result of add_new_segment is always ignored
// FIXME: the mechanism involving last_seg_added is really ugly.
@@ -46,12 +50,6 @@
// the default 'NONPTR' behaviour of post_syscall. post_reg_write_demux
// is called first, then post_syscall.
-// FIXME: deal with Ist_PutI, Iex_GetI kludges
-// PutI kludge: it is assumed that PutIs are to unshadowed areas, so
-// no instrumentation is generated -- can silently generate wrong
-// instrumentation
-// GetI kludge: is at least safe; will abort in unhandled cases
-
// FIXME: check nothing is mapped in the lowest 1M of memory at
// startup, or quit (to do with nonptr_or_unknown, also sync 1M
// magic value with PIE default load address in m_ume.c.
@@ -1390,6 +1388,17 @@
# define PC_SZB_FS_ZERO sizeof( ((VexGuestAMD64State*)0)->guest_FS_ZERO)
#endif
+#if defined(VGA_ppc32)
+# include "libvex_guest_ppc32.h"
+# define MC_SIZEOF_GUEST_STATE sizeof(VexGuestPPC32State)
+#endif
+
+#if defined(VGA_ppc64)
+# include "libvex_guest_ppc64.h"
+# define MC_SIZEOF_GUEST_STATE sizeof(VexGuestPPC64State)
+#endif
+
+
/* See description on definition of type IntRegInfo. */
static void get_IntRegInfo ( /*OUT*/IntRegInfo* iii, Int offset, Int szB )
{
@@ -1576,7 +1585,328 @@
tl_assert(0);
# undef GOF
+ /* -------------------- ppc32 -------------------- */
+# elif defined(VGA_ppc32)
+
+# define GOF(_fieldname) \
+ (offsetof(VexGuestPPC32State,guest_##_fieldname))
+
+ Int o = offset;
+ Int sz = szB;
+ Bool is4 = sz == 4;
+ Bool is8 = sz == 8;
+
+ tl_assert(sz > 0);
+ tl_assert(host_is_big_endian());
+
+ /* Set default state to "does not intersect any int register". */
+ VG_(memset)( iii, 0, sizeof(*iii) );
+
+ /* Exact accesses to integer registers */
+ if (o == GOF(GPR0) && is4) goto exactly1;
+ if (o == GOF(GPR1) && is4) goto exactly1;
+ if (o == GOF(GPR2) && is4) goto exactly1;
+ if (o == GOF(GPR3) && is4) goto exactly1;
+ if (o == GOF(GPR4) && is4) goto exactly1;
+ if (o == GOF(GPR5) && is4) goto exactly1;
+ if (o == GOF(GPR6) && is4) goto exactly1;
+ if (o == GOF(GPR7) && is4) goto exactly1;
+ if (o == GOF(GPR8) && is4) goto exactly1;
+ if (o == GOF(GPR9) && is4) goto exactly1;
+ if (o == GOF(GPR10) && is4) goto exactly1;
+ if (o == GOF(GPR11) && is4) goto exactly1;
+ if (o == GOF(GPR12) && is4) goto exactly1;
+ if (o == GOF(GPR13) && is4) goto exactly1;
+ if (o == GOF(GPR14) && is4) goto exactly1;
+ if (o == GOF(GPR15) && is4) goto exactly1;
+ if (o == GOF(GPR16) && is4) goto exactly1;
+ if (o == GOF(GPR17) && is4) goto exactly1;
+ if (o == GOF(GPR18) && is4) goto exactly1;
+ if (o == GOF(GPR19) && is4) goto exactly1;
+ if (o == GOF(GPR20) && is4) goto exactly1;
+ if (o == GOF(GPR21) && is4) goto exactly1;
+ if (o == GOF(GPR22) && is4) goto exactly1;
+ if (o == GOF(GPR23) && is4) goto exactly1;
+ if (o == GOF(GPR24) && is4) goto exactly1;
+ if (o == GOF(GPR25) && is4) goto exactly1;
+ if (o == GOF(GPR26) && is4) goto exactly1;
+ if (o == GOF(GPR27) && is4) goto exactly1;
+ if (o == GOF(GPR28) && is4) goto exactly1;
+ if (o == GOF(GPR29) && is4) goto exactly1;
+ if (o == GOF(GPR30) && is4) goto exactly1;
+ if (o == GOF(GPR31) && is4) goto exactly1;
+
+ /* Misc integer reg and condition code accesses */
+ if (o == GOF(LR) && is4) goto exactly1;
+ if (o == GOF(CTR) && is4) goto exactly1;
+ if (o == GOF(CIA) && is4) goto none;
+ if (o == GOF(CIA_AT_SC) && is4) goto none;
+ if (o == GOF(RESVN) && is4) goto none;
+ if (o == GOF(TISTART) && is4) goto none;
+ if (o == GOF(TILEN) && is4) goto none;
+
+ if (sz == 1) {
+ if (o == GOF(XER_SO)) goto none;
+ if (o == GOF(XER_OV)) goto none;
+ if (o == GOF(XER_CA)) goto none;
+ if (o == GOF(XER_BC)) goto none;
+ if (o == GOF(CR0_321)) goto none;
+ if (o == GOF(CR0_0)) goto none;
+ if (o == GOF(CR1_321)) goto none;
+ if (o == GOF(CR1_0)) goto none;
+ if (o == GOF(CR2_321)) goto none;
+ if (o == GOF(CR2_0)) goto none;
+ if (o == GOF(CR3_321)) goto none;
+ if (o == GOF(CR3_0)) goto none;
+ if (o == GOF(CR4_321)) goto none;
+ if (o == GOF(CR4_0)) goto none;
+ if (o == GOF(CR5_321)) goto none;
+ if (o == GOF(CR5_0)) goto none;
+ if (o == GOF(CR6_321)) goto none;
+ if (o == GOF(CR6_0)) goto none;
+ if (o == GOF(CR7_321)) goto none;
+ if (o == GOF(CR7_0)) goto none;
+ }
+
+ /* Exact accesses to FP registers */
+ if (o == GOF(FPR0) && is8) goto none;
+ if (o == GOF(FPR1) && is8) goto none;
+ if (o == GOF(FPR2) && is8) goto none;
+ if (o == GOF(FPR3) && is8) goto none;
+ if (o == GOF(FPR4) && is8) goto none;
+ if (o == GOF(FPR5) && is8) goto none;
+ if (o == GOF(FPR6) && is8) goto none;
+ if (o == GOF(FPR7) && is8) goto none;
+ if (o == GOF(FPR8) && is8) goto none;
+ if (o == GOF(FPR9) && is8) goto none;
+ if (o == GOF(FPR10) && is8) goto none;
+ if (o == GOF(FPR11) && is8) goto none;
+ if (o == GOF(FPR12) && is8) goto none;
+ if (o == GOF(FPR13) && is8) goto none;
+ if (o == GOF(FPR14) && is8) goto none;
+ if (o == GOF(FPR15) && is8) goto none;
+ if (o == GOF(FPR16) && is8) goto none;
+ if (o == GOF(FPR17) && is8) goto none;
+ if (o == GOF(FPR18) && is8) goto none;
+ if (o == GOF(FPR19) && is8) goto none;
+ if (o == GOF(FPR20) && is8) goto none;
+ if (o == GOF(FPR21) && is8) goto none;
+ if (o == GOF(FPR22) && is8) goto none;
+ if (o == GOF(FPR23) && is8) goto none;
+ if (o == GOF(FPR24) && is8) goto none;
+ if (o == GOF(FPR25) && is8) goto none;
+ if (o == GOF(FPR26) && is8) goto none;
+ if (o == GOF(FPR27) && is8) goto none;
+ if (o == GOF(FPR28) && is8) goto none;
+ if (o == GOF(FPR29) && is8) goto none;
+ if (o == GOF(FPR30) && is8) goto none;
+ if (o == GOF(FPR31) && is8) goto none;
+
+ /* FP admin related */
+ if (o == GOF(FPROUND) && is4) goto none;
+ if (o == GOF(EMWARN) && is4) goto none;
+
+ /* Altivec registers */
+ if (o == GOF(VR0) && sz == 16) goto none;
+ if (o == GOF(VR1) && sz == 16) goto none;
+ if (o == GOF(VR2) && sz == 16) goto none;
+ if (o == GOF(VR3) && sz == 16) goto none;
+ if (o == GOF(VR4) && sz == 16) goto none;
+ if (o == GOF(VR5) && sz == 16) goto none;
+ if (o == GOF(VR6) && sz == 16) goto none;
+ if (o == GOF(VR7) && sz == 16) goto none;
+ if (o == GOF(VR8) && sz == 16) goto none;
+ if (o == GOF(VR9) && sz == 16) goto none;
+ if (o == GOF(VR10) && sz == 16) goto none;
+ if (o == GOF(VR11) && sz == 16) goto none;
+ if (o == GOF(VR12) && sz == 16) goto none;
+ if (o == GOF(VR13) && sz == 16) goto none;
+ if (o == GOF(VR14) && sz == 16) goto none;
+ if (o == GOF(VR15) && sz == 16) goto none;
+ if (o == GOF(VR16) && sz == 16) goto none;
+ if (o == GOF(VR17) && sz == 16) goto none;
+ if (o == GOF(VR18) && sz == 16) goto none;
+ if (o == GOF(VR19) && sz == 16) goto none;
+ if (o == GOF(VR20) && sz == 16) goto none;
+ if (o == GOF(VR21) && sz == 16) goto none;
+ if (o == GOF(VR22) && sz == 16) goto none;
+ if (o == GOF(VR23) && sz == 16) goto none;
+ if (o == GOF(VR24) && sz == 16) goto none;
+ if (o == GOF(VR25) && sz == 16) goto none;
+ if (o == GOF(VR26) && sz == 16) goto none;
+ if (o == GOF(VR27) && sz == 16) goto none;
+ if (o == GOF(VR28) && sz == 16) goto none;
+ if (o == GOF(VR29) && sz == 16) goto none;
+ if (o == GOF(VR30) && sz == 16) goto none;
+ if (o == GOF(VR31) && sz == 16) goto none;
+
+ VG_(printf)("get_IntRegInfo(ppc32):failing on (%d,%d)\n", o, sz);
+ tl_assert(0);
+# undef GOF
+
+ /* -------------------- ppc64 -------------------- */
+
+# elif defined(VGA_ppc64)
+
+# define GOF(_fieldname) \
+ (offsetof(VexGuestPPC64State,guest_##_fieldname))
+
+ Int o = offset;
+ Int sz = szB;
+ Bool is4 = sz == 4;
+ Bool is8 = sz == 8;
+
+ tl_assert(sz > 0);
+ tl_assert(host_is_big_endian());
+
+ /* Set default state to "does not intersect any int register". */
+ VG_(memset)( iii, 0, sizeof(*iii) );
+
+ /* Exact accesses to integer registers */
+ if (o == GOF(GPR0) && is8) goto exactly1;
+ if (o == GOF(GPR1) && is8) goto exactly1;
+ if (o == GOF(GPR2) && is8) goto exactly1;
+ if (o == GOF(GPR3) && is8) goto exactly1;
+ if (o == GOF(GPR4) && is8) goto exactly1;
+ if (o == GOF(GPR5) && is8) goto exactly1;
+ if (o == GOF(GPR6) && is8) goto exactly1;
+ if (o == GOF(GPR7) && is8) goto exactly1;
+ if (o == GOF(GPR8) && is8) goto exactly1;
+ if (o == GOF(GPR9) && is8) goto exactly1;
+ if (o == GOF(GPR10) && is8) goto exactly1;
+ if (o == GOF(GPR11) && is8) goto exactly1;
+ if (o == GOF(GPR12) && is8) goto exactly1;
+ if (o == GOF(GPR13) && is8) goto exactly1;
+ if (o == GOF(GPR14) && is8) goto exactly1;
+ if (o == GOF(GPR15) && is8) goto exactly1;
+ if (o == GOF(GPR16) && is8) goto exactly1;
+ if (o == GOF(GPR17) && is8) goto exactly1;
+ if (o == GOF(GPR18) && is8) goto exactly1;
+ if (o == GOF(GPR19) && is8) goto exactly1;
+ if (o == GOF(GPR20) && is8) goto exactly1;
+ if (o == GOF(GPR21) && is8) goto exactly1;
+ if (o == GOF(GPR22) && is8) goto exactly1;
+ if (o == GOF(GPR23) && is8) goto exactly1;
+ if (o == GOF(GPR24) && is8) goto exactly1;
+ if (o == GOF(GPR25) && is8) goto exactly1;
+ if (o == GOF(GPR26) && is8) goto exactly1;
+ if (o == GOF(GPR27) && is8) goto exactly1;
+ if (o == GOF(GPR28) && is8) goto exactly1;
+ if (o == GOF(GPR29) && is8) goto exactly1;
+ if (o == GOF(GPR30) && is8) goto exactly1;
+ if (o == GOF(GPR31) && is8) goto exactly1;
+
+ /* Misc integer reg and condition code accesses */
+ if (o == GOF(LR) && is8) goto exactly1;
+ if (o == GOF(CTR) && is8) goto exactly1;
+ if (o == GOF(CIA) && is8) goto none;
+ if (o == GOF(CIA_AT_SC) && is8) goto none;
+ if (o == GOF(RESVN) && is8) goto none;
+ if (o == GOF(TISTART) && is8) goto none;
+ if (o == GOF(TILEN) && is8) goto none;
+ if (o == GOF(REDIR_SP) && is8) goto none;
+
+ if (sz == 1) {
+ if (o == GOF(XER_SO)) goto none;
+ if (o == GOF(XER_OV)) goto none;
+ if (o == GOF(XER_CA)) goto none;
+ if (o == GOF(XER_BC)) goto none;
+ if (o == GOF(CR0_321)) goto none;
+ if (o == GOF(CR0_0)) goto none;
+ if (o == GOF(CR1_321)) goto none;
+ if (o == GOF(CR1_0)) goto none;
+ if (o == GOF(CR2_321)) goto none;
+ if (o == GOF(CR2_0)) goto none;
+ if (o == GOF(CR3_321)) goto none;
+ if (o == GOF(CR3_0)) goto none;
+ if (o == GOF(CR4_321)) goto none;
+ if (o == GOF(CR4_0)) goto none;
+ if (o == GOF(CR5_321)) goto none;
+ if (o == GOF(CR5_0)) goto none;
+ if (o == GOF(CR6_321)) goto none;
+ if (o == GOF(CR6_0)) goto none;
+ if (o == GOF(CR7_321)) goto none;
+ if (o == GOF(CR7_0)) goto none;
+ }
+
+ /* Exact accesses to FP registers */
+ if (o == GOF(FPR0) && is8) goto none;
+ if (o == GOF(FPR1) && is8) goto none;
+ if (o == GOF(FPR2) && is8) goto none;
+ if (o == GOF(FPR3) && is8) goto none;
+ if (o == GOF(FPR4) && is8) goto none;
+ if (o == GOF(FPR5) && is8) goto none;
+ if (o == GOF(FPR6) && is8) goto none;
+ if (o == GOF(FPR7) && is8) goto none;
+ if (o == GOF(FPR8) && is8) goto none;
+ if (o == GOF(FPR9) && is8) goto none;
+ if (o == GOF(FPR10) && is8) goto none;
+ if (o == GOF(FPR11) && is8) goto none;
+ if (o == GOF(FPR12) && is8) goto none;
+ if (o == GOF(FPR13) && is8) goto none;
+ if (o == GOF(FPR14) && is8) goto none;
+ if (o == GOF(FPR15) && is8) goto none;
+ if (o == GOF(FPR16) && is8) goto none;
+ if (o == GOF(FPR17) && is8) goto none;
+ if (o == GOF(FPR18) && is8) goto none;
+ if (o == GOF(FPR19) && is8) goto none;
+ if (o == GOF(FPR20) && is8) goto none;
+ if (o == GOF(FPR21) && is8) goto none;
+ if (o == GOF(FPR22) && is8) goto none;
+ if (o == GOF(FPR23) && is8) goto none;
+ if (o == GOF(FPR24) && is8) goto none;
+ if (o == GOF(FPR25) && is8) goto none;
+ if (o == GOF(FPR26) && is8) goto none;
+ if (o == GOF(FPR27) && is8) goto none;
+ if (o == GOF(FPR28) && is8) goto none;
+ if (o == GOF(FPR29) && is8) goto none;
+ if (o == GOF(FPR30) && is8) goto none;
+ if (o == GOF(FPR31) && is8) goto none;
+
+ /* FP admin related */
+ if (o == GOF(FPROUND) && is4) goto none;
+ if (o == GOF(EMWARN) && is4) goto none;
+
+ /* Altivec registers */
+ if (o == GOF(VR0) && sz == 16) goto none;
+ if (o == GOF(VR1) && sz == 16) goto none;
+ if (o == GOF(VR2) && sz == 16) goto none;
+ if (o == GOF(VR3) && sz == 16) goto none;
+ if (o == GOF(VR4) && sz == 16) goto none;
+ if (o == GOF(VR5) && sz == 16) goto none;
+ if (o == GOF(VR6) && sz == 16) goto none;
+ if (o == GOF(VR7) && sz == 16) goto none;
+ if (o == GOF(VR8) && sz == 16) goto none;
+ if (o == GOF(VR9) && sz == 16) goto none;
+ if (o == GOF(VR10) && sz == 16) goto none;
+ if (o == GOF(VR11) && sz == 16) goto none;
+ if (o == GOF(VR12) && sz == 16) goto none;
+ if (o == GOF(VR13) && sz == 16) goto none;
+ if (o == GOF(VR14) && sz == 16) goto none;
+ if (o == GOF(VR15) && sz == 16) goto none;
+ if (o == GOF(VR16) && sz == 16) goto none;
+ if (o == GOF(VR17) && sz == 16) goto none;
+ if (o == GOF(VR18) && sz == 16) goto none;
+ if (o == GOF(VR19) && sz == 16) goto none;
+ if (o == GOF(VR20) && sz == 16) goto none;
+ if (o == GOF(VR21) && sz == 16) goto none;
+ if (o == GOF(VR22) && sz == 16) goto none;
+ if (o == GOF(VR23) && sz == 16) goto none;
+ if (o == GOF(VR24) && sz == 16) goto none;
+ if (o == GOF(VR25) && sz == 16) goto none;
+ if (o == GOF(VR26) && sz == 16) goto none;
+ if (o == GOF(VR27) && sz == 16) goto none;
+ if (o == GOF(VR28) && sz == 16) goto none;
+ if (o == GOF(VR29) && sz == 16) goto none;
+ if (o == GOF(VR30) && sz == 16) goto none;
+ if (o == GOF(VR31) && sz == 16) goto none;
+
+ VG_(printf)("get_IntRegInfo(ppc64):failing on (%d,%d)\n", o, sz);
+ tl_assert(0);
+# undef GOF
+
+
# else
# error "FIXME: not implemented for this architecture"
# endif
@@ -1594,6 +1924,44 @@
return;
}
+
+/* Does 'arr' describe an indexed guest state section containing host
+ words, that we want to shadow? */
+
+static Bool is_integer_guest_reg_array ( IRRegArray* arr )
+{
+ /* -------------------- ppc32 -------------------- */
+# if defined(VGA_ppc32)
+ /* The redir stack. */
+ //if (arr->base == offsetof(VexGuestPPC64State,guest_REDIR_STACK[0])
+ // && arr->elemTy == Ity_I64
+ // && arr->nElems == VEX_GUEST_PPC64_REDIR_STACK_SIZE)
+ // return True;
+
+ VG_(printf)("is_integer_guest_reg_array(ppc32): unhandled: ");
+ ppIRRegArray(arr);
+ VG_(printf)("\n");
+ tl_assert(0);
+
+ /* -------------------- ppc64 -------------------- */
+# elif defined(VGA_ppc64)
+ /* The redir stack. */
+ if (arr->base == offsetof(VexGuestPPC64State,guest_REDIR_STACK[0])
+ && arr->elemTy == Ity_I64
+ && arr->nElems == VEX_GUEST_PPC64_REDIR_STACK_SIZE)
+ return True;
+
+ VG_(printf)("is_integer_guest_reg_array(ppc64): unhandled: ");
+ ppIRRegArray(arr);
+ VG_(printf)("\n");
+ tl_assert(0);
+
+# else
+# error "FIXME: not implemented for this architecture"
+# endif
+}
+
+
// END move this uglyness to pc_machine.c
/* returns True iff given slice exactly matches an int reg. Merely
@@ -1874,7 +2242,9 @@
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:
@@ -1928,11 +2298,13 @@
# endif
case __NR_fdatasync:
case __NR_fstatfs:
+ case __NR_statfs64:
case __NR_fsync:
case __NR_ftruncate:
# if defined(__NR_ftruncate64)
case __NR_ftruncate64:
# endif
+ case __NR_getdents:
case __NR_getegid:
# if defined(__NR_getegid32)
case __NR_getegid32:
@@ -2005,6 +2377,7 @@
# if defined(__NR_shutdown)
case __NR_shutdown:
# endif
+ case __NR_sigreturn: /* not sure if we should see this or not */
case __NR_statfs:
case __NR_symlink:
case __NR_sysinfo:
@@ -2017,6 +2390,7 @@
case __NR_umask:
case __NR_unlink:
case __NR_utime:
+ case __NR_waitpid:
case __NR_wait4:
case __NR_writev:
VG_(set_syscall_return_shadows)( tid, (UWord)NONPTR, 0 );
@@ -2433,7 +2807,8 @@
*(ULong*)(m + 0) = ls8B;
*(ULong*)(m + 8) = ms8B;
} else {
- tl_assert(0);
+ *(ULong*)(m + 0) = ms8B;
+ *(ULong*)(m + 8) = ls8B;
}
nonptr_or_unknown_range(m, 16);
}
@@ -2456,7 +2831,10 @@
*(UInt*)(m + 8) = w2;
*(UInt*)(m + 12) = ms4B;
} else {
- tl_assert(0);
+ *(UInt*)(m + 0) = ms4B;
+ *(UInt*)(m + 4) = w2;
+ *(UInt*)(m + 8) = w1;
+ *(UInt*)(m + 12) = ls4B;
}
nonptr_or_unknown_range(m, 16);
}
@@ -2476,7 +2854,8 @@
*(UInt*)(m + 0) = ls4B;
*(UInt*)(m + 4) = ms4B;
} else {
- tl_assert(0);
+ *(UInt*)(m + 0) = ms4B;
+ *(UInt*)(m + 4) = ls4B;
}
nonptr_or_unknown_range(m, 8);
}
@@ -3505,15 +3884,21 @@
case Iop_MullS16: goto n32;
case Iop_MullU16: goto n32;
case Iop_PRemC3210F64: goto n32;
+ case Iop_DivU32: goto n32;
+ case Iop_DivS32: goto n32;
+ case Iop_V128to32: goto n32;
/* cases where result range is very limited and clearly cannot
be a pointer */
case Iop_1Uto32: goto n32;
+ case Iop_1Sto32: goto n32;
case Iop_8Uto32: goto n32;
case Iop_8Sto32: goto n32;
case Iop_Clz32: goto n32;
case Iop_Ctz32: goto n32;
case Iop_CmpF64: goto n32;
+ case Iop_CmpORD32S: goto n32;
+ case Iop_CmpORD32U: goto n32;
n32:
assign( 'I', pce, dstv, mkU32( (UInt)NONPTR ));
break;
@@ -3579,8 +3964,6 @@
case Iop_128to64: goto n_or_u_64;
case Iop_V128HIto64: goto n_or_u_64;
case Iop_V128to64: goto n_or_u_64;
- case Iop_MullS32: goto n_or_u_64;
- case Iop_MullU32: goto n_or_u_64;
n_or_u_64:
assign( 'I', pce, dstv,
mkexpr(
@@ -3607,6 +3990,11 @@
case Iop_DivModU64to32: goto n64;
case Iop_DivModS64to32: goto n64;
case Iop_F64toI64: goto n64;
+ case Iop_MullS32: goto n64;
+ case Iop_MullU32: goto n64;
+ case Iop_DivU64: goto n64;
+ case Iop_DivS64: goto n64;
+ case Iop_ReinterpF64asI64: goto n64;
/* cases where result range is very limited and clearly cannot
be a pointer */
@@ -3615,6 +4003,8 @@
case Iop_8Sto64: goto n64;
case Iop_Ctz64: goto n64;
case Iop_Clz64: goto n64;
+ case Iop_CmpORD64S: goto n64;
+ case Iop_CmpORD64U: goto n64;
/* 64-bit simd */
case Iop_Avg8Ux8: case Iop_Avg16Ux4:
case Iop_Max16Sx4: case Iop_Max8Ux8: case Iop_Min16Sx4:
@@ -3764,13 +4154,29 @@
stmt( 'C', pce, st );
break;
- case Ist_PutI:
+ case Ist_PutI: {
+ IRRegArray* descr = st->Ist.PutI.descr;
+pce->trace=True;
stmt( 'C', pce, st );
- if (st->Ist.PutI.descr->elemTy == pce->gWordTy)
- goto unhandled;
- /* If the element type isn't pointer-capable, we assume
- there's nothing to be done. */
+ tl_assert(descr && descr->elemTy);
+ if (is_integer_guest_reg_array(descr)) {
+ /* if this fails, is_integer_guest_reg_array is returning
+ bogus results */
+ tl_assert(descr->elemTy == pce->gWordTy);
+ stmt(
+ 'I', pce,
+ IRStmt_PutI(
+ mkIRRegArray(descr->base + pce->guest_state_sizeB,
+ descr->elemTy, descr->nElems),
+ st->Ist.PutI.ix,
+ st->Ist.PutI.bias,
+ schemeEw_Atom( pce, st->Ist.PutI.data)
+ )
+ );
+ }
+tl_assert(0);
break;
+ }
case Ist_Put: {
/* PUT(offset) = atom */
@@ -4112,9 +4518,23 @@
}
case Iex_GetI: {
+ IRRegArray* descr = e->Iex.GetI.descr;
stmt( 'C', pce, st );
- tl_assert(e_ty == e->Iex.GetI.descr->elemTy);
- if (isWord) goto unhandled;
+ tl_assert(descr && descr->elemTy);
+ if (is_integer_guest_reg_array(descr)) {
+ /* if this fails, is_integer_guest_reg_array is
+ returning bogus results */
+ tl_assert(isWord);
+ assign(
+ 'I', pce, dstv,
+ IRExpr_GetI(
+ mkIRRegArray(descr->base + pce->guest_state_sizeB,
+ descr->elemTy, descr->nElems),
+ e->Iex.GetI.ix,
+ e->Iex.GetI.bias
+ )
+ );
+ }
break;
}
@@ -4177,6 +4597,19 @@
break;
}
+ case Iex_Qop: {
+ stmt( 'C', pce, st );
+ tl_assert(isIRAtom(e->Iex.Qop.arg1));
+ tl_assert(isIRAtom(e->Iex.Qop.arg2));
+ tl_assert(isIRAtom(e->Iex.Qop.arg3));
+ tl_assert(isIRAtom(e->Iex.Qop.arg4));
+ if (isWord)
+ instrument_arithop( pce, dst, dstv, e->Iex.Qop.op,
+ e->Iex.Qop.arg1, e->Iex.Qop.arg2,
+ e->Iex.Qop.arg3, e->Iex.Qop.arg4 );
+ break;
+ }
+
default:
goto unhandled;
} /* switch (e->tag) */
Modified: branches/PTRCHECK/none/tests/ppc32/Makefile.am
===================================================================
--- branches/PTRCHECK/none/tests/ppc32/Makefile.am 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/none/tests/ppc32/Makefile.am 2008-07-30 10:00:25 UTC (rev 8483)
@@ -31,6 +31,6 @@
@FLAG_M32@
AM_CXXFLAGS = $(AM_CFLAGS) @FLAG_M32@
-jm_insns_CFLAGS = -Winline -Wall -O -mregnames -maltivec @FLAG_M32@
+jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M32@
testVMX_CFLAGS = -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \
-DGCC_COMPILER @FLAG_M32@
Modified: branches/PTRCHECK/none/tests/ppc64/Makefile.am
===================================================================
--- branches/PTRCHECK/none/tests/ppc64/Makefile.am 2008-07-30 09:19:21 UTC (rev 8482)
+++ branches/PTRCHECK/none/tests/ppc64/Makefile.am 2008-07-30 10:00:25 UTC (rev 8483)
@@ -18,4 +18,4 @@
@FLAG_M64@
AM_CXXFLAGS = $(AM_CFLAGS) @FLAG_M64@
-jm_insns_CFLAGS = -Winline -Wall -O -mregnames -maltivec @FLAG_M64@
+jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M64@
|
|
From: <sv...@va...> - 2008-07-30 09:56:36
|
Author: sewardj
Date: 2008-07-30 10:56:45 +0100 (Wed, 30 Jul 2008)
New Revision: 1860
Log:
Add support needed for exp-ptrcheck on ppc32/64.
Modified:
trunk/priv/host-ppc/isel.c
trunk/pub/libvex_guest_ppc64.h
Modified: trunk/priv/host-ppc/isel.c
===================================================================
--- trunk/priv/host-ppc/isel.c 2008-07-29 09:48:26 UTC (rev 1859)
+++ trunk/priv/host-ppc/isel.c 2008-07-30 09:56:45 UTC (rev 1860)
@@ -1831,6 +1831,29 @@
}
break;
+ /* ReinterpF32asI32(e) */
+ /* Given an IEEE754 float, produce an I32 with the same bit
+ pattern. */
+ case Iop_ReinterpF32asI32: {
+ /* I believe this generates correct code for both 32- and
+ 64-bit hosts. */
+ PPCAMode *am_addr;
+ HReg fr_src = iselFltExpr(env, e->Iex.Unop.arg);
+ HReg r_dst = newVRegI(env);
+
+ sub_from_sp( env, 16 ); // Move SP down 16 bytes
+ am_addr = PPCAMode_IR( 0, StackFramePtr(mode64) );
+
+ // store as F32
+ addInstr(env, PPCInstr_FpLdSt( False/*store*/, 4,
+ fr_src, am_addr ));
+ // load as Ity_I32
+ addInstr(env, PPCInstr_Load( 4, r_dst, am_addr, mode64 ));
+
+ add_to_sp( env, 16 ); // Reset SP
+ return r_dst;
+ }
+
default:
break;
}
Modified: trunk/pub/libvex_guest_ppc64.h
===================================================================
--- trunk/pub/libvex_guest_ppc64.h 2008-07-29 09:48:26 UTC (rev 1859)
+++ trunk/pub/libvex_guest_ppc64.h 2008-07-30 09:56:45 UTC (rev 1860)
@@ -271,7 +271,7 @@
/* Needed for AIX: CIA at the last SC insn. Used when backing up
to restart a syscall that has been interrupted by a signal. */
- /* ???? */ ULong guest_CIA_AT_SC;
+ /* 1392 */ ULong guest_CIA_AT_SC;
/* SPRG3, which AIUI is readonly in user space. Needed for
threading on AIX. */
|
|
From: Tom H. <to...@co...> - 2008-07-30 09:48:38
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> Also, what happens if I want to use a non-default Qt4, that is, one which
> I build from source and pkg-config knows nothing about? What then?
Then you set PKG_CONFIG_PATH to point at the directory with the .pc
file for your build ;-)
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Julian S. <js...@ac...> - 2008-07-30 09:39:44
|
> > How bad does the cumbersome code look? Is it the Qt4 checking stuff > > in configure.in r8465, or some other un-committed changes you have? > > Writing configure tests for detecting e.g. the Qt4 package compared to > using pkg-config is something like reinventing the wheel. E.g. for > some distro's the Qt4 include path is /usr/include, for other distro's > it is /usr/include/qt4 and maybe there exist even other choices. I > don't think there even exists a clean way to find out from the > configure script any path a distro could come up except by using > pkg-config. Additionally, sometimes additional compiler flags have to > be passed to the compiler for compiling Qt4 code. Trying to figure out > these flags from the configure script would be more duplication of > information already known by pkg-config. Is it at least possible to arrange it so that configure does not fail if pkg-config is not installed? I don't want to acquire a dependency on pkg-config. Also, what happens if I want to use a non-default Qt4, that is, one which I build from source and pkg-config knows nothing about? What then? J |
|
From: <sv...@va...> - 2008-07-30 09:19:13
|
Author: bart
Date: 2008-07-30 10:19:21 +0100 (Wed, 30 Jul 2008)
New Revision: 8482
Log:
Started using pkg-config macro's for Qt4 detection.
Modified:
branches/DRDDEV/configure.in
branches/DRDDEV/drd/tests/Makefile.am
branches/DRDDEV/drd/tests/qt4_mutex.cpp
branches/DRDDEV/drd/tests/qt4_rwlock.cpp
branches/DRDDEV/drd/tests/qt4_semaphore.cpp
Modified: branches/DRDDEV/configure.in
===================================================================
--- branches/DRDDEV/configure.in 2008-07-30 08:32:57 UTC (rev 8481)
+++ branches/DRDDEV/configure.in 2008-07-30 09:19:21 UTC (rev 8482)
@@ -50,6 +50,9 @@
# place.
AC_SUBST([DISTCHECK_CONFIGURE_FLAGS], [--with-vex=$VEX_DIR])
+# pkg-config initialization.
+PKG_PROG_PKG_CONFIG()
+
# Checks for programs.
CFLAGS="-Wno-long-long"
@@ -1251,15 +1254,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 +1267,6 @@
AC_TYPE_SIGNAL
AC_CHECK_LIB([rt], [clock_gettime])
-AC_CHECK_LIB([QtCore], [_ZN6QMutex4lockEv]) # QMutex::lock()
AC_CHECK_FUNCS([ \
clock_gettime\
@@ -1401,25 +1394,16 @@
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 ?
+# Has the QtCore package been installed ?
-AC_MSG_CHECKING([for Qt4 core library])
-
-AC_TRY_COMPILE([ ],
+PKG_CHECK_MODULES(
+[QTCORE],
+[QtCore],
[
-#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])
Modified: branches/DRDDEV/drd/tests/Makefile.am
===================================================================
--- branches/DRDDEV/drd/tests/Makefile.am 2008-07-30 08:32:57 UTC (rev 8481)
+++ branches/DRDDEV/drd/tests/Makefile.am 2008-07-30 09:19:21 UTC (rev 8482)
@@ -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: branches/DRDDEV/drd/tests/qt4_mutex.cpp
===================================================================
--- branches/DRDDEV/drd/tests/qt4_mutex.cpp 2008-07-30 08:32:57 UTC (rev 8481)
+++ branches/DRDDEV/drd/tests/qt4_mutex.cpp 2008-07-30 09:19:21 UTC (rev 8482)
@@ -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: branches/DRDDEV/drd/tests/qt4_rwlock.cpp
===================================================================
--- branches/DRDDEV/drd/tests/qt4_rwlock.cpp 2008-07-30 08:32:57 UTC (rev 8481)
+++ branches/DRDDEV/drd/tests/qt4_rwlock.cpp 2008-07-30 09:19:21 UTC (rev 8482)
@@ -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: branches/DRDDEV/drd/tests/qt4_semaphore.cpp
===================================================================
--- branches/DRDDEV/drd/tests/qt4_semaphore.cpp 2008-07-30 08:32:57 UTC (rev 8481)
+++ branches/DRDDEV/drd/tests/qt4_semaphore.cpp 2008-07-30 09:19:21 UTC (rev 8482)
@@ -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-07-30 07:50:10
|
Author: bart
Date: 2008-07-30 08:50:17 +0100 (Wed, 30 Jul 2008)
New Revision: 8480
Log:
Reran this benchmark script and updated results.
Modified:
branches/DRDDEV/drd/scripts/run-splash2
Modified: branches/DRDDEV/drd/scripts/run-splash2
===================================================================
--- branches/DRDDEV/drd/scripts/run-splash2 2008-07-29 19:02:49 UTC (rev 8479)
+++ branches/DRDDEV/drd/scripts/run-splash2 2008-07-30 07:50:17 UTC (rev 8480)
@@ -57,7 +57,7 @@
if [ -e $HGDEV_VG ]; then
p=4
test_output="${1}-helgrind-hb-4.out" \
- print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $HGDEV_VG --tool=helgrind --pure-happens-before=yes "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $HGDEV_VG --tool=helgrind --pure-happens-before=yes --max-segment-set-size=999999 "$@" -p${psep}${p} "${test_args}"
fi
echo ''
@@ -123,10 +123,9 @@
# DRD uses a granularity of four bytes.
# - Helgrind does detect data races on stack variables. DRD only detects
# data races on stack variables with --check-stack-var=yes.
-# - Helgrind with --pure-happens-before=yes does not handle atomic variables
-# correctly. Furthermore, there is an artificial upper limit on the number
-# of segments (--max-segment-set-size=<n>). Both aspects will cause real
-# data races to be suppressed.
+# - There is an artificial upper limit in Helgrind on the number
+# of segments (--max-segment-set-size=<n>). This will cause real
+# data races to be suppressed for small values of <n>.
# - The ITC tests have been run on a 4-way 2.5 GHz Pentium 4 workstation.
# Not yet clear to me: have these tests been run on a 32-bit or on a 64-bit
# OS ? Which OS ? Which granularity does ITC use ? And which m4 macro's
@@ -136,17 +135,17 @@
# Results: native native native none none DRD DRD HG HG-hb ITC ITC
# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4 -p4+f
# ..................................................................................................................................
-# Cholesky 0.09 11880 0.06 21888 0.61 41882 12.2 5.07 4.4 2.14 15 1.49 12 2.31 14 3.60 16 4.49 239 82
-# FFT 0.02 6560 0.02 15443 0.02 31493 16.0 8.34 17.5 2.53 89 2.67 97 2.80 310 4.23 86 5.03 90 41
-# LU, contiguous 0.07 3968 0.04 12176 0.04 28584 12.3 13.1 22.3 2.69 129 2.80 110 2.95 257 4.49 231 5.36 428 128
-# Ocean, contiguous 0.22 16720 0.17 25256 0.15 42392 6.5 3.88 10.3 2.14 57 2.28 48 2.37 77 3.56 82 4.34 90 28
+# Cholesky 0.09 11880 0.06 21888 0.56 41883 12.1 5.2 4.8 2.17 17 2.33 13 2.33 16 3.62 16 4.33 239 82
+# FFT 0.02 6560 0.02 15784 0.02 31835 16.0 8.5 17.0 2.53 91 2.68 107 2.81 306 4.25 83 4.97 90 41
+# LU, contiguous 0.07 3968 0.04 12176 0.05 28584 12.3 13.4 18.2 2.73 103 2.84 93 2.84 207 4.52 181 5.36 428 128
+# Ocean, contiguous 0.22 16720 0.20 25256 0.17 42392 6.4 3.9 9.2 2.17 59 2.30 44 2.30 67 3.61 67 4.15 90 28
# Radiosity
-# Radix 0.20 15008 0.11 23200 0.11 39592 13.2 4.21 23.8 2.22 58 2.46 51 2.46 180 3.78 77 4.41 222 56
-# Raytrace 0.62 206976 0.48 215168 0.47 231893 8.6 1.23 11.6 1.21 261 1.46 103 1.47 109 2.10 91 4.73 172 53
-# Water-n2 0.16 10560 0.09 26944 0.10 59704 13.7 5.63 22.0 1.82 2770 2.44 153 2.37 123 3.09 109 3.66 189 39
-# Water-sp 0.19 4312 0.10 13400 0.10 30091 10.8 12.1 20.6 2.57 242 2.80 59 2.80 109 4.26 101 5.13 183 34
+# Radix 0.20 15008 0.10 23200 0.11 39592 12.7 4.3 23.5 2.25 57 2.38 53 2.48 157 3.80 75 4.41 222 56
+# Raytrace 0.61 206976 0.47 215509 0.47 232235 8.8 1.2 11.5 1.21 245 1.44 85 1.46 108 2.11 83 3.61 172 53
+# Water-n2 0.16 10560 0.09 26944 0.10 59704 13.6 5.7 22.1 1.84 2368 2.18 85 2.18 117 3.12 105 3.60 189 39
+# Water-sp 0.19 4312 0.10 13400 0.10 29496 10.8 12.4 20.9 2.60 248 2.69 60 2.83 105 4.32 98 5.20 183 34
# ..................................................................................................................................
-# geometric mean 0.13 12823 0.09 25650 0.12 47553 11.3 5.43 14.8 2.08 133 2.24 64 2.40 110 3.55 82 4.61 180 51
+# geometric mean 0.13 12823 0.09 25655 0.12 47561 11.2 5.53 14.3 2.13 129 2.31 58 2.36 104 3.58 75 4.41 180 51
# ..................................................................................................................................
# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
# Software: openSUSE 11.0, 64-bit, gcc 4.3.1, runlevel 3.
|
|
From: Tom H. <th...@cy...> - 2008-07-30 03:04:36
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-07-30 03:14:58 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-07-30 02:56:45
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-07-30 03:20:05 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, 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) |
|
From: Tom H. <th...@cy...> - 2008-07-30 02:42:19
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-07-30 03:05:05 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-07-30 02:41:37
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-07-30 03:25: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 == 441 tests, 9 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/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-07-30 02:23:21
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-07-30 03:00:04 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, 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) ================================================= == 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, 32 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) drd/tests/atomic_var (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jul 30 03:11:59 2008 --- new.short Wed Jul 30 03:23:26 2008 *************** *** 8,10 **** ! == 443 tests, 32 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) --- 8,10 ---- ! == 443 tests, 31 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) *************** *** 43,45 **** helgrind/tests/tc23_bogus_condwait (stderr) - drd/tests/atomic_var (stderr) --- 43,44 ---- |