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
(11) |
|
2
|
3
|
4
|
5
(4) |
6
(21) |
7
(14) |
8
(14) |
|
9
(16) |
10
(19) |
11
(18) |
12
(17) |
13
(14) |
14
(21) |
15
(15) |
|
16
(10) |
17
(7) |
18
(15) |
19
(20) |
20
(20) |
21
(14) |
22
(7) |
|
23
(2) |
24
(8) |
25
(15) |
26
(11) |
27
(6) |
28
(10) |
|
|
From: <sv...@va...> - 2014-02-21 21:14:18
|
Author: mjw
Date: Fri Feb 21 21:13:55 2014
New Revision: 13829
Log:
Accept glibc 2.19 as valid.
Modified:
trunk/configure.ac
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Feb 21 21:13:55 2014
@@ -958,6 +958,13 @@
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
+ 2.19)
+ AC_MSG_RESULT(2.19 family)
+ AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x])
+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
darwin)
AC_MSG_RESULT(Darwin)
AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
@@ -971,8 +978,8 @@
*)
AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17])
- AC_MSG_ERROR([or Darwin libc])
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.19])
+ AC_MSG_ERROR([or Darwin or Bionic libc])
;;
esac
|
|
From: Julian S. <js...@ac...> - 2014-02-21 16:30:41
|
On 02/21/2014 02:09 PM, Anil Singhar wrote: > Hi Julian, > > I will try that. There is a "dc zva, x8" instruction as well in the ld*.so > that is causing another unrecognized instruction error. > Does this mean valgrind will not emulate the dc instruction (i.e. all > variants of it) at all? If I understand correctly, the patch I made should cause ld.so to not execute "dc zva", so there is no need to implement it right now. J |
|
From: <sv...@va...> - 2014-02-21 14:56:54
|
Author: sewardj
Date: Fri Feb 21 14:56:48 2014
New Revision: 13828
Log:
Fix incorrect include, spotted by mjw.
Modified:
trunk/coregrind/m_gdbserver/valgrind-low-arm64.c
Modified: trunk/coregrind/m_gdbserver/valgrind-low-arm64.c
==============================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-arm64.c (original)
+++ trunk/coregrind/m_gdbserver/valgrind-low-arm64.c Fri Feb 21 14:56:48 2014
@@ -27,7 +27,7 @@
#include "regcache.h"
#include "pub_core_aspacemgr.h"
-#include "pub_tool_machine.h"
+#include "pub_core_machine.h"
#include "pub_core_threadstate.h"
#include "pub_core_transtab.h"
#include "pub_core_gdbserver.h"
|
|
From: <sv...@va...> - 2014-02-21 14:55:02
|
Author: sewardj
Date: Fri Feb 21 14:54:51 2014
New Revision: 13827
Log:
Update.
Modified:
trunk/README.aarch64
Modified: trunk/README.aarch64
==============================================================================
--- trunk/README.aarch64 (original)
+++ trunk/README.aarch64 Fri Feb 21 14:54:51 2014
@@ -7,15 +7,14 @@
instructions and can run almost anything generated by gcc-4.8.2 -O2.
The port is under active development.
-Current limitations, as of mid-Jan 2014.
+Current limitations, as of mid-Feb 2014.
-* threaded apps won't work, due to inadequate sys_clone() support.
-
-* almost no support of vector (SIMD) instructions
+* limited support of vector (SIMD) instructions. Initial target is
+ support for instructions created by gcc-4.8.2 -O3 (via vectorisation).
+ This is mostly complete.
* Integration with the built in GDB server:
- - basically works but breakpoints are causing crashes due to missing
- unchainXDirect_ARM64 needed by LibVEX_UnChain.
+ - basically works but breakpoints may be problematic (unclear)
Use --vgdb=full to bypass the problem.
- still to do:
arm64 xml register description files (allowing shadow registers
@@ -23,11 +22,18 @@
ptrace invoker : currently disabled for both arm and arm64
cpsr transfer to/from gdb to be looked at (see also arm equivalent code)
+* limited syscall support
+
There has been extensive testing of the baseline simulation of integer
and FP instructions. Memcheck is also believed to work, at least for
small examples. Other tools appear to at least not crash when running
/bin/date.
+Enough syscalls are supported for /bin/ssh and /bin/bash to work. In
+particular that means that programs that create and use TCP sockets
+are likely to work.
+
+
Building
~~~~~~~~
@@ -231,3 +237,6 @@
math_MINMAXV: use real Iop_Cat{Odd,Even}Lanes ops rather than
inline scalar code
+
+
+chainXDirect_ARM64: use direct jump forms when possible
|
|
From: <sv...@va...> - 2014-02-21 14:51:22
|
Author: sewardj
Date: Fri Feb 21 14:51:14 2014
New Revision: 13826
Log:
* fix a bug in sys_clone that was causing threads to hang at exit
* enable enough syscalls to be able to run ssh and bash
Modified:
trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm64-linux.c Fri Feb 21 14:51:14 2014
@@ -137,22 +137,21 @@
int flags in x0
void* child_stack in x1
pid_t* parent_tid in x2
- pid_t* child_tid in x3
- void* tls_ptr in x4
+ void* tls_ptr in x3
+ pid_t* child_tid in x4
Returns a Long encoded in the linux-arm64 way, not a SysRes.
- x10-x20 are caller save, so they might be useful.
*/
#define __NR_CLONE VG_STRINGIFY(__NR_clone)
#define __NR_EXIT VG_STRINGIFY(__NR_exit)
extern
Long do_syscall_clone_arm64_linux ( Word (*fn)(void *),
- void* stack,
+ void* child_stack,
Long flags,
void* arg,
- Long* child_tid,
- Long* parent_tid,
+ Int* child_tid,
+ Int* parent_tid,
void* tls );
asm(
".text\n"
@@ -168,8 +167,8 @@
" mov x0, x2\n" // syscall arg1: flags
" mov x1, x1\n" // syscall arg2: child_stack
" mov x2, x5\n" // syscall arg3: parent_tid
-" mov x3, x4\n" // syscall arg4: child_tid
-" mov x4, x6\n" // syscall arg5: tls_ptr
+" mov x3, x6\n" // syscall arg4: tls_ptr
+" mov x4, x4\n" // syscall arg5: child_tid
" svc 0\n" // clone()
@@ -215,10 +214,11 @@
for SP.
*/
static SysRes do_clone ( ThreadId ptid,
- ULong flags, Addr xsp,
- Long* parent_tidptr,
- Long* child_tidptr,
- Addr child_tls )
+ ULong flags,
+ Addr child_xsp,
+ Int* parent_tidptr,
+ Int* child_tidptr,
+ Addr child_tls )
{
const Bool debug = False;
@@ -260,8 +260,8 @@
child. */
ctst->arch.vex.guest_X0 = 0;
- if (xsp != 0)
- ctst->arch.vex.guest_XSP = xsp;
+ if (child_xsp != 0)
+ ctst->arch.vex.guest_XSP = child_xsp;
ctst->os_state.parent = ptid;
@@ -285,20 +285,20 @@
memory mappings and try to derive some useful information. We
assume that xsp starts near its highest possible value, and can
only go down to the start of the mmaped segment. */
- seg = VG_(am_find_nsegment)((Addr)xsp);
+ seg = VG_(am_find_nsegment)((Addr)child_xsp);
if (seg && seg->kind != SkResvn) {
- ctst->client_stack_highest_word = (Addr)VG_PGROUNDUP(xsp);
+ ctst->client_stack_highest_word = (Addr)VG_PGROUNDUP(child_xsp);
ctst->client_stack_szB = ctst->client_stack_highest_word - seg->start;
VG_(register_stack)(seg->start, ctst->client_stack_highest_word);
if (debug)
VG_(printf)("tid %d: guessed client stack range %#lx-%#lx\n",
- ctid, seg->start, VG_PGROUNDUP(xsp));
+ ctid, seg->start, VG_PGROUNDUP(child_xsp));
} else {
VG_(message)(
Vg_UserMsg,
- "!? New thread %d starts with sp+%#lx) unmapped\n", ctid, xsp
+ "!? New thread %d starts with sp+%#lx) unmapped\n", ctid, child_xsp
);
ctst->client_stack_szB = 0;
}
@@ -534,6 +534,16 @@
//ZZ POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
//ZZ }
+/* Aarch64 seems to use CONFIG_CLONE_BACKWARDS in the kernel. See:
+ http://dev.gentoo.org/~vapier/aarch64/linux-3.12.6.config
+ http://people.redhat.com/wcohen/aarch64/aarch64_config
+ from linux-3.10.5/kernel/fork.c
+ #ifdef CONFIG_CLONE_BACKWARDS
+ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
+ int __user *, parent_tidptr,
+ int, tls_val,
+ int __user *, child_tidptr)
+*/
PRE(sys_clone)
{
UInt cloneflags;
@@ -554,14 +564,6 @@
return;
}
}
- if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID)) {
- PRE_MEM_WRITE("clone(child_tidptr)", ARG5, sizeof(Int));
- if (!VG_(am_is_valid_for_client)(ARG5, sizeof(Int),
- VKI_PROT_WRITE)) {
- SET_STATUS_Failure( VKI_EFAULT );
- return;
- }
- }
//ZZ if (ARG1 & VKI_CLONE_SETTLS) {
//ZZ PRE_MEM_READ("clone(tls_user_desc)", ARG4, sizeof(vki_modify_ldt_t));
//ZZ if (!VG_(am_is_valid_for_client)(ARG4, sizeof(vki_modify_ldt_t),
@@ -570,6 +572,14 @@
//ZZ return;
//ZZ }
//ZZ }
+ if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID)) {
+ PRE_MEM_WRITE("clone(child_tidptr)", ARG5, sizeof(Int));
+ if (!VG_(am_is_valid_for_client)(ARG5, sizeof(Int),
+ VKI_PROT_WRITE)) {
+ SET_STATUS_Failure( VKI_EFAULT );
+ return;
+ }
+ }
cloneflags = ARG1;
@@ -585,11 +595,11 @@
/* thread creation */
SET_STATUS_from_SysRes(
do_clone(tid,
- ARG1, /* flags */
- (Addr)ARG2, /* child SP */
- (Long *)ARG3, /* parent_tidptr */
- (Long *)ARG5, /* child_tidptr */
- (Addr)ARG4)); /* set_tls */
+ ARG1, /* flags */
+ (Addr)ARG2, /* child SP */
+ (Int*)ARG3, /* parent_tidptr */
+ (Int*)ARG5, /* child_tidptr */
+ (Addr)ARG4)); /* tls_val */
break;
case VKI_CLONE_VFORK | VKI_CLONE_VM: /* vfork */
@@ -599,9 +609,9 @@
case 0: /* plain fork */
SET_STATUS_from_SysRes(
ML_(do_fork_clone)(tid,
- cloneflags, /* flags */
- (Int *)ARG3, /* parent_tidptr */
- (Int *)ARG5)); /* child_tidptr */
+ cloneflags, /* flags */
+ (Int*)ARG3, /* parent_tidptr */
+ (Int*)ARG5)); /* child_tidptr */
break;
default:
@@ -871,6 +881,7 @@
LINXY(__NR_getxattr, sys_getxattr), // 8
LINXY(__NR_lgetxattr, sys_lgetxattr), // 9
GENXY(__NR_getcwd, sys_getcwd), // 17
+ GENXY(__NR_dup, sys_dup), // 23
LINXY(__NR_dup3, sys_dup3), // 24
// FIXME IS THIS CORRECT?
@@ -896,6 +907,7 @@
GENXY(__NR_read, sys_read), // 63
GENX_(__NR_write, sys_write), // 64
GENX_(__NR_writev, sys_writev), // 66
+ LINX_(__NR_pselect6, sys_pselect6), // 72
LINXY(__NR_ppoll, sys_ppoll), // 73
LINX_(__NR_readlinkat, sys_readlinkat), // 78
@@ -915,10 +927,14 @@
LINXY(__NR_rt_sigaction, sys_rt_sigaction), // 134
LINXY(__NR_rt_sigprocmask, sys_rt_sigprocmask), // 135
PLAX_(__NR_rt_sigreturn, sys_rt_sigreturn), // 139
+ LINX_(__NR_setresuid, sys_setresuid), // 147
+ GENX_(__NR_setpgid, sys_setpgid), // 154
GENX_(__NR_getpgid, sys_getpgid), // 155
GENXY(__NR_uname, sys_newuname), // 160
GENXY(__NR_getrlimit, sys_old_getrlimit), // 163
+ GENX_(__NR_setrlimit, sys_setrlimit), // 164
GENXY(__NR_getrusage, sys_getrusage), // 165
+ GENX_(__NR_umask, sys_umask), // 166
GENXY(__NR_gettimeofday, sys_gettimeofday), // 169
GENX_(__NR_getpid, sys_getpid), // 172
GENX_(__NR_getppid, sys_getppid), // 173
@@ -929,7 +945,16 @@
LINX_(__NR_gettid, sys_gettid), // 178
LINXY(__NR_socket, sys_socket), // 198
LINXY(__NR_socketpair, sys_socketpair), // 199
+ LINX_(__NR_bind, sys_bind), // 200
LINX_(__NR_connect, sys_connect), // 203
+ LINXY(__NR_getsockname, sys_getsockname), // 204
+ LINXY(__NR_getpeername, sys_getpeername), // 205
+ LINX_(__NR_sendto, sys_sendto), // 206
+ LINX_(__NR_setsockopt, sys_setsockopt), // 208
+ LINXY(__NR_getsockopt, sys_getsockopt), // 209
+ LINX_(__NR_shutdown, sys_shutdown), // 210
+ LINX_(__NR_sendmsg, sys_sendmsg), // 211
+ LINXY(__NR_recvmsg, sys_recvmsg), // 212
GENX_(__NR_brk, sys_brk), // 214
GENXY(__NR_munmap, sys_munmap), // 215
PLAX_(__NR_clone, sys_clone), // 220
@@ -988,7 +1013,6 @@
//ZZ GENX_(__NR_mkdir, sys_mkdir), // 39
//ZZ
//ZZ GENX_(__NR_rmdir, sys_rmdir), // 40
-//ZZ GENXY(__NR_dup, sys_dup), // 41
//ZZ LINXY(__NR_pipe, sys_pipe), // 42
//ZZ GENXY(__NR_times, sys_times), // 43
//ZZ // GENX_(__NR_prof, sys_ni_syscall), // 44
@@ -1005,11 +1029,9 @@
//ZZ
//ZZ LINXY(__NR_fcntl, sys_fcntl), // 55
//ZZ // GENX_(__NR_mpx, sys_ni_syscall), // 56
-//ZZ GENX_(__NR_setpgid, sys_setpgid), // 57
//ZZ // GENX_(__NR_ulimit, sys_ni_syscall), // 58
//ZZ //zz // (__NR_oldolduname, sys_olduname), // 59 Linux -- obsolete
//ZZ //zz
-//ZZ GENX_(__NR_umask, sys_umask), // 60
//ZZ GENX_(__NR_chroot, sys_chroot), // 61
//ZZ //zz // (__NR_ustat, sys_ustat) // 62 SVr4 -- deprecated
//ZZ GENXY(__NR_dup2, sys_dup2), // 63
@@ -1027,7 +1049,6 @@
//ZZ LINXY(__NR_sigpending, sys_sigpending), // 73
//ZZ //zz // (__NR_sethostname, sys_sethostname), // 74 */*
//ZZ //zz
-//ZZ GENX_(__NR_setrlimit, sys_setrlimit), // 75
//ZZ GENXY(__NR_getrlimit, sys_old_getrlimit), // 76
//ZZ GENX_(__NR_settimeofday, sys_settimeofday), // 79
//ZZ
@@ -1261,20 +1282,11 @@
//ZZ LINXY(__NR_mq_getsetattr, sys_mq_getsetattr), // (mq_open+5)
//ZZ LINXY(__NR_waitid, sys_waitid), // 280
//ZZ
-//ZZ LINX_(__NR_bind, sys_bind), // 282
//ZZ LINX_(__NR_listen, sys_listen), // 284
//ZZ LINXY(__NR_accept, sys_accept), // 285
-//ZZ LINXY(__NR_getsockname, sys_getsockname), // 286
-//ZZ LINXY(__NR_getpeername, sys_getpeername), // 287
//ZZ LINX_(__NR_send, sys_send),
-//ZZ LINX_(__NR_sendto, sys_sendto), // 290
//ZZ LINXY(__NR_recv, sys_recv),
//ZZ LINXY(__NR_recvfrom, sys_recvfrom), // 292
-//ZZ LINX_(__NR_shutdown, sys_shutdown), // 293
-//ZZ LINX_(__NR_setsockopt, sys_setsockopt), // 294
-//ZZ LINXY(__NR_getsockopt, sys_getsockopt), // 295
-//ZZ LINX_(__NR_sendmsg, sys_sendmsg), // 296
-//ZZ LINXY(__NR_recvmsg, sys_recvmsg), // 297
//ZZ LINX_(__NR_semop, sys_semop), // 298
//ZZ LINX_(__NR_semget, sys_semget), // 299
//ZZ LINXY(__NR_semctl, sys_semctl), // 300
@@ -1339,7 +1351,6 @@
//ZZ // correspond to what's in include/vki/vki-scnums-arm-linux.h.
//ZZ // From here onwards, please ensure the numbers are correct.
//ZZ
-//ZZ LINX_(__NR_pselect6, sys_pselect6), // 335
//ZZ
//ZZ LINXY(__NR_epoll_pwait, sys_epoll_pwait), // 346
//ZZ
|
|
From: <sv...@va...> - 2014-02-21 14:49:55
|
Author: sewardj
Date: Fri Feb 21 14:49:44 2014
New Revision: 2824
Log:
* add a kludgey fix for "mrs rT, dczid_el0"
* make ISB and DSB really generate memory barriers
Modified:
trunk/priv/guest_arm64_toIR.c
Modified: trunk/priv/guest_arm64_toIR.c
==============================================================================
--- trunk/priv/guest_arm64_toIR.c (original)
+++ trunk/priv/guest_arm64_toIR.c Fri Feb 21 14:49:44 2014
@@ -4368,16 +4368,27 @@
}
return True;
}
+ /* Cases for DCZID_EL0
+ Don't support arbitrary reads and writes to this register. Just
+ return the value 16, which indicates that the DC ZVA instruction
+ is not permitted, so we don't have to emulate it.
+ D5 3B 00 111 Rt MRS rT, dczid_el0
+ */
+ if ((INSN(31,0) & 0xFFFFFFE0) == 0xD53B00E0) {
+ UInt tt = INSN(4,0);
+ putIReg64orZR(tt, mkU64(1<<4));
+ DIP("mrs %s, dczid_el0 (FAKED)\n", nameIReg64orZR(tt));
+ return True;
+ }
- /* FIXME Temporary hacks to get through ld.so FIXME */
- /* ------------------ ISB ------------------ */
+ /* ------------------ ISB, DSB ------------------ */
if (INSN(31,0) == 0xD5033FDF) {
- /* FIXME: not really a nop */
+ stmt(IRStmt_MBE(Imbe_Fence));
DIP("isb\n");
return True;
}
if (INSN(31,0) == 0xD5033BBF) {
- /* FIXME: not really a nop */
+ stmt(IRStmt_MBE(Imbe_Fence));
DIP("dmb ish\n");
return True;
}
|
|
From: Anil S. <ani...@li...> - 2014-02-21 13:09:45
|
Hi Julian,
I will try that. There is a "dc zva, x8" instruction as well in the ld*.so
that is causing another unrecognized instruction error.
Does this mean valgrind will not emulate the dc instruction (i.e. all
variants of it) at all?
Thanks,
Anil
On 21 February 2014 15:18, Julian Seward <js...@ac...> wrote:
>
> > I used the attached patch to address the issued with the DCZID_EL0
> > register, since we want this to be supported.
>
> I am a bit surprised that this patch works for you, since
>
> (1) it changes the size of VexGuestARM64State and I would therefore
> expect to get an assertion failure indicating that the size is
> no longer a multiple of 16, and
>
> (2) IIUC, it allows DCZID_EL0<4> == 0, which means the DC ZVA
> instruction is permitted, but VEX does not handle that instruction.
>
> Can you instead try the patch below and see if it helps?
>
> J
>
>
> Index: priv/guest_arm64_toIR.c
> ===================================================================
> --- priv/guest_arm64_toIR.c (revision 2823)
> +++ priv/guest_arm64_toIR.c (working copy)
> @@ -4368,6 +4368,18 @@
> }
> return True;
> }
> + /* Cases for DCZID_EL0
> + Don't support arbitrary reads and writes to this register. Just
> + return the value 16, which indicates that the DC ZVA instruction
> + is not permitted, so we don't have to emulate it.
> + D5 3B 00 111 Rt MRS rT, dczid_el0
> + */
> + if ((INSN(31,0) & 0xFFFFFFE0) == 0xD53B00E0) {
> + UInt tt = INSN(4,0);
> + putIReg64orZR(tt, mkU64(1<<4));
> + DIP("mrs %s, dczid_el0 (FAKED)\n", nameIReg64orZR(tt));
> + return True;
> + }
>
> /* FIXME Temporary hacks to get through ld.so FIXME */
> /* ------------------ ISB ------------------ */
>
>
|
|
From: <sv...@va...> - 2014-02-21 10:50:22
|
Author: mjw
Date: Fri Feb 21 10:50:06 2014
New Revision: 13825
Log:
memcheck/tests/Makefile.am include filter_dw4 in dist_noinst_SCRIPTS.
The fix for BZ#331254 (r13814) added filter_dw4.
Make sure it is always included in the dist.
Modified:
trunk/memcheck/tests/Makefile.am
Modified: trunk/memcheck/tests/Makefile.am
==============================================================================
--- trunk/memcheck/tests/Makefile.am (original)
+++ trunk/memcheck/tests/Makefile.am Fri Feb 21 10:50:06 2014
@@ -42,6 +42,7 @@
dist_noinst_SCRIPTS = \
filter_addressable \
filter_allocs \
+ filter_dw4 \
filter_leak_cases_possible \
filter_stderr filter_xml \
filter_strchr \
|
|
From: Julian S. <js...@ac...> - 2014-02-21 09:48:58
|
> I used the attached patch to address the issued with the DCZID_EL0
> register, since we want this to be supported.
I am a bit surprised that this patch works for you, since
(1) it changes the size of VexGuestARM64State and I would therefore
expect to get an assertion failure indicating that the size is
no longer a multiple of 16, and
(2) IIUC, it allows DCZID_EL0<4> == 0, which means the DC ZVA
instruction is permitted, but VEX does not handle that instruction.
Can you instead try the patch below and see if it helps?
J
Index: priv/guest_arm64_toIR.c
===================================================================
--- priv/guest_arm64_toIR.c (revision 2823)
+++ priv/guest_arm64_toIR.c (working copy)
@@ -4368,6 +4368,18 @@
}
return True;
}
+ /* Cases for DCZID_EL0
+ Don't support arbitrary reads and writes to this register. Just
+ return the value 16, which indicates that the DC ZVA instruction
+ is not permitted, so we don't have to emulate it.
+ D5 3B 00 111 Rt MRS rT, dczid_el0
+ */
+ if ((INSN(31,0) & 0xFFFFFFE0) == 0xD53B00E0) {
+ UInt tt = INSN(4,0);
+ putIReg64orZR(tt, mkU64(1<<4));
+ DIP("mrs %s, dczid_el0 (FAKED)\n", nameIReg64orZR(tt));
+ return True;
+ }
/* FIXME Temporary hacks to get through ld.so FIXME */
/* ------------------ ISB ------------------ */
|
|
From: Philippe W. <phi...@sk...> - 2014-02-21 05:39:52
|
valgrind revision: 13824 VEX revision: 2823 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.8.8-202.fc18.ppc64p7 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2014-02-20 20:00:14 PST Ended at 2014-02-20 21:36:50 PST 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 == 575 tests, 36 stderr failures, 7 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/test_isa_2_06_part2 (stdout) none/tests/ppc32/test_isa_2_06_part2 (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/test_isa_2_06_part2 (stdout) none/tests/ppc64/test_isa_2_06_part2 (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (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) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.22s no: 1.6s ( 7.1x, -----) me: 2.8s (12.8x, -----) ca:17.9s (81.4x, -----) he: 1.7s ( 7.9x, -----) ca: 5.4s (24.5x, -----) dr: 1.7s ( 7.6x, -----) ma: 2.1s ( 9.7x, -----) bigcode1 valgrind-old:0.22s no: 1.6s ( 7.2x, -0.6%) me: 2.9s (13.1x, -2.1%) ca:17.9s (81.3x, 0.1%) he: 1.7s ( 7.9x, 0.0%) ca: 5.3s (24.0x, 2.2%) dr: 1.7s ( 7.5x, 1.2%) ma: 2.1s ( 9.6x, 0.9%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.6s ( 6.8x, -----) me: 2.9s (12.7x, -----) ca:18.2s (79.3x, -----) he: 2.1s ( 9.2x, -----) ca: 5.4s (23.5x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.1s ( 9.3x, -----) bigcode2 valgrind-old:0.23s no: 1.6s ( 6.7x, 1.3%) me: 2.9s (12.7x, 0.0%) ca:18.2s (79.0x, 0.4%) he: 2.1s ( 9.1x, 0.5%) ca: 5.4s (23.5x, 0.0%) dr: 1.9s ( 8.1x, -1.1%) ma: 2.1s ( 9.3x, -0.9%) -- bz2 -- bz2 valgrind-new:0.72s no: 4.5s ( 6.3x, -----) me:11.8s (16.3x, -----) ca:25.9s (36.0x, -----) he:14.6s (20.3x, -----) ca:24.2s (33.6x, -----) dr:20.4s (28.3x, -----) ma: 4.7s ( 6.5x, -----) bz2 valgrind-old:0.72s no: 4.6s ( 6.3x, -0.2%) me:11.8s (16.3x, 0.0%) ca:25.9s (36.0x, 0.1%) he:14.9s (20.6x, -1.7%) ca:24.4s (33.9x, -0.7%) dr:20.4s (28.3x, -0.1%) ma: 4.7s ( 6.5x, -0.2%) -- fbench -- fbench valgrind-new:0.43s no: 2.1s ( 4.8x, -----) me: 5.3s (12.3x, -----) ca: 8.5s (19.7x, -----) he: 5.3s (12.3x, -----) ca: 7.5s (17.5x, -----) dr: 4.9s (11.3x, -----) ma: 2.1s ( 5.0x, -----) fbench valgrind-old:0.43s no: 2.1s ( 4.9x, -2.4%) me: 5.2s (12.2x, 0.6%) ca: 8.5s (19.7x, 0.0%) he: 5.3s (12.2x, 0.6%) ca: 7.6s (17.8x, -1.7%) dr: 4.9s (11.3x, 0.2%) ma: 2.1s ( 5.0x, 0.0%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 3.0x, -----) me: 2.5s ( 5.6x, -----) ca: 2.5s ( 5.5x, -----) he: 7.3s (16.2x, -----) ca: 7.0s (15.6x, -----) dr: 5.0s (11.1x, -----) ma: 1.0s ( 2.2x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 3.0x, 0.0%) me: 2.6s ( 5.8x, -3.5%) ca: 2.5s ( 5.5x, 0.0%) he: 7.2s (16.0x, 1.2%) ca: 7.3s (16.2x, -3.7%) dr: 5.0s (11.0x, 0.8%) ma: 1.1s ( 2.4x, -7.9%) -- heap -- heap valgrind-new:0.42s no: 2.5s ( 5.9x, -----) me:10.0s (23.7x, -----) ca:13.1s (31.3x, -----) he:11.8s (28.0x, -----) ca:12.1s (28.9x, -----) dr: 8.2s (19.5x, -----) ma: 8.5s (20.3x, -----) heap valgrind-old:0.42s no: 2.4s ( 5.8x, 1.2%) me:10.0s (23.7x, 0.0%) ca:13.1s (31.2x, 0.1%) he:11.9s (28.2x, -0.8%) ca:12.2s (28.9x, -0.2%) dr: 8.2s (19.5x, -0.2%) ma: 8.5s (20.3x, 0.0%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.43s no: 2.6s ( 6.0x, -----) me:13.9s (32.4x, -----) ca:14.0s (32.6x, -----) he:13.0s (30.3x, -----) ca:13.1s (30.5x, -----) dr: 9.3s (21.6x, -----) ma: 8.7s (20.2x, -----) heap_pdb4 valgrind-old:0.43s no: 2.7s ( 6.2x, -2.3%) me:14.0s (32.6x, -0.6%) ca:14.1s (32.7x, -0.5%) he:13.3s (31.0x, -2.5%) ca:13.1s (30.6x, -0.1%) dr: 9.0s (21.0x, 2.7%) ma: 8.7s (20.3x, -0.1%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.7x, -----) me: 2.2s (72.7x, -----) ca: 1.9s (62.0x, -----) he: 1.8s (60.3x, -----) ca: 1.9s (61.7x, -----) dr: 1.6s (52.7x, -----) ma: 1.6s (51.7x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.3x, 1.9%) me: 2.2s (72.7x, 0.0%) ca: 1.9s (62.3x, -0.5%) he: 1.8s (59.7x, 1.1%) ca: 1.9s (61.7x, 0.0%) dr: 1.6s (52.7x, 0.0%) ma: 1.6s (51.7x, 0.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.6x, -----) me: 3.4s (49.0x, -----) ca: 4.7s (66.9x, -----) he: 4.8s (69.0x, -----) ca: 2.9s (41.1x, -----) dr: 2.3s (33.3x, -----) ma: 2.2s (32.1x, -----) many-xpts valgrind-old:0.07s no: 0.8s (10.7x, -1.4%) me: 3.5s (49.3x, -0.6%) ca: 4.7s (66.7x, 0.2%) he: 4.8s (68.7x, 0.4%) ca: 2.9s (41.3x, -0.3%) dr: 2.3s (33.4x, -0.4%) ma: 2.2s (32.1x, 0.0%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.5x, -----) me: 3.1s (157.5x, -----) ca: 2.9s (146.0x, -----) he:11.2s (560.0x, -----) ca: 1.7s (86.0x, -----) dr: 1.0s (52.0x, -----) ma: 0.4s (21.0x, -----) sarp valgrind-old:0.02s no: 0.4s (20.0x, 2.4%) me: 3.2s (158.5x, -0.6%) ca: 2.9s (146.0x, 0.0%) he:11.2s (558.5x, 0.3%) ca: 1.7s (83.0x, 3.5%) dr: 1.1s (53.0x, -1.9%) ma: 0.4s (20.5x, 2.4%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (10.9x, -----) me:14.1s (52.3x, -----) ca:17.2s (63.8x, -----) he:19.0s (70.3x, -----) ca:15.6s (57.8x, -----) dr:12.5s (46.3x, -----) ma: 3.8s (14.1x, -----) tinycc valgrind-old:0.27s no: 3.0s (11.0x, -0.7%) me:14.1s (52.4x, -0.1%) ca:17.4s (64.3x, -0.8%) he:18.9s (70.1x, 0.2%) ca:15.6s (57.8x, 0.0%) dr:12.4s (45.8x, 1.2%) ma: 3.8s (14.1x, 0.3%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 53m51.918s user 52m28.417s sys 0m19.293s |
|
From: Tom H. <to...@co...> - 2014-02-21 04:22:21
|
valgrind revision: 13824 VEX revision: 2823 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) GDB: Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-02-21 03:51:54 GMT Ended at 2014-02-21 04:22:04 GMT 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 == 645 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-02-21 04:06:56
|
valgrind revision: 13824 VEX revision: 2823 C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1) Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1 C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537) uname -mrs: Linux 3.7.9-1.1-desktop x86_64 Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t). Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 ) Started at 2014-02-20 21:30:01 CST Ended at 2014-02-20 22:06:45 CST 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 == 666 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-20 21:50:45.757630114 -0600 +++ mssnapshot.stderrB.out 2014-02-20 21:55:47.408253413 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-20 21:30:24.692369481 -0600 +++ mssnapshot.stderrB.out 2014-02-20 21:37:38.321403211 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue |
|
From: Tom H. <to...@co...> - 2014-02-21 03:55:15
|
valgrind revision: 13824 VEX revision: 2823 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-02-21 03:02:18 GMT Ended at 2014-02-21 03:55:01 GMT 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 == 673 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Tom H. <to...@co...> - 2014-02-21 03:54:42
|
valgrind revision: 13824 VEX revision: 2823 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.11.10-301.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-02-21 03:13:13 GMT Ended at 2014-02-21 03:54:27 GMT 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 == 673 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |