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
(5) |
2
(4) |
3
(8) |
4
(11) |
5
(23) |
|
6
(14) |
7
(17) |
8
(10) |
9
(8) |
10
(13) |
11
(10) |
12
(15) |
|
13
(12) |
14
(8) |
15
(15) |
16
(10) |
17
(19) |
18
(10) |
19
(5) |
|
20
(9) |
21
(8) |
22
(7) |
23
(4) |
24
(15) |
25
(6) |
26
(11) |
|
27
(5) |
28
(11) |
29
(9) |
30
(9) |
31
(4) |
|
|
|
From: Christian B. <bor...@de...> - 2011-03-25 21:31:06
|
Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-03-25 22:10:01 CET Ended at 2011-03-25 22:30:03 CET 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, 6 stderr failures, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/annotate_spinlock (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |
|
From: <sv...@va...> - 2011-03-25 20:07:35
|
Author: bart
Date: 2011-03-25 20:07:25 +0000 (Fri, 25 Mar 2011)
New Revision: 11666
Log:
Add VALGRIND_RESIZEINPLACE_BLOCK() and hence close #267819.
Modified:
trunk/coregrind/m_scheduler/scheduler.c
trunk/docs/xml/manual-core-adv.xml
trunk/drd/drd_clientreq.c
trunk/include/valgrind.h
trunk/massif/ms_main.c
trunk/memcheck/mc_errors.c
trunk/memcheck/mc_include.h
trunk/memcheck/mc_main.c
trunk/memcheck/mc_malloc_wrappers.c
trunk/memcheck/tests/badfree-2trace.stderr.exp
trunk/memcheck/tests/badfree.stderr.exp
trunk/memcheck/tests/badfree3.stderr.exp
trunk/memcheck/tests/custom_alloc.c
trunk/memcheck/tests/custom_alloc.stderr.exp
trunk/memcheck/tests/doublefree.stderr.exp
trunk/memcheck/tests/fprw.stderr.exp
trunk/memcheck/tests/malloc2.stderr.exp
trunk/memcheck/tests/memalign_test.stderr.exp
trunk/memcheck/tests/suppfree.stderr.exp
trunk/memcheck/tests/xml1.stderr.exp
Modified: trunk/coregrind/m_scheduler/scheduler.c
===================================================================
--- trunk/coregrind/m_scheduler/scheduler.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/coregrind/m_scheduler/scheduler.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1584,6 +1584,7 @@
}
case VG_USERREQ__MALLOCLIKE_BLOCK:
+ case VG_USERREQ__RESIZEINPLACE_BLOCK:
case VG_USERREQ__FREELIKE_BLOCK:
// Ignore them if the addr is NULL; otherwise pass onto the tool.
if (!arg[1]) {
Modified: trunk/docs/xml/manual-core-adv.xml
===================================================================
--- trunk/docs/xml/manual-core-adv.xml 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/docs/xml/manual-core-adv.xml 2011-03-25 20:07:25 UTC (rev 11666)
@@ -152,6 +152,15 @@
</varlistentry>
<varlistentry>
+ <term><command><computeroutput>VALGRIND_RESIZEINPLACE_BLOCK</computeroutput>:</command></term>
+ <listitem>
+ <para>Informs a Valgrind tool that the size of an allocated block has been
+ modified but not its address. See <filename>valgrind.h</filename> for
+ more information on how to use it.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term>
<command><computeroutput>VALGRIND_CREATE_MEMPOOL</computeroutput></command>,
<command><computeroutput>VALGRIND_DESTROY_MEMPOOL</computeroutput></command>,
Modified: trunk/drd/drd_clientreq.c
===================================================================
--- trunk/drd/drd_clientreq.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/drd/drd_clientreq.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -97,6 +97,22 @@
DRD_(malloclike_block)(vg_tid, arg[1]/*addr*/, arg[2]/*size*/);
break;
+ case VG_USERREQ__RESIZEINPLACE_BLOCK:
+ if (!DRD_(freelike_block)(vg_tid, arg[1]/*addr*/, False))
+ {
+ GenericErrInfo GEI = {
+ .tid = DRD_(thread_get_running_tid)(),
+ .addr = 0,
+ };
+ VG_(maybe_record_error)(vg_tid,
+ GenericErr,
+ VG_(get_IP)(vg_tid),
+ "Invalid VG_USERREQ__RESIZEINPLACE_BLOCK request",
+ &GEI);
+ }
+ DRD_(malloclike_block)(vg_tid, arg[1]/*addr*/, arg[3]/*newSize*/);
+ break;
+
case VG_USERREQ__FREELIKE_BLOCK:
if (arg[1] && ! DRD_(freelike_block)(vg_tid, arg[1]/*addr*/, False))
{
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/include/valgrind.h 2011-03-25 20:07:25 UTC (rev 11666)
@@ -4846,6 +4846,7 @@
/* These are useful and can be interpreted by any tool that
tracks malloc() et al, by using vg_replace_malloc.c. */
VG_USERREQ__MALLOCLIKE_BLOCK = 0x1301,
+ VG_USERREQ__RESIZEINPLACE_BLOCK = 0x130b,
VG_USERREQ__FREELIKE_BLOCK = 0x1302,
/* Memory pool support. */
VG_USERREQ__CREATE_MEMPOOL = 0x1303,
@@ -5178,7 +5179,24 @@
VALGRIND_FREELIKE_BLOCK should be put immediately after the point where a
heap block is deallocated.
- In many cases, these two client requests will not be enough to get your
+ VALGRIND_RESIZEINPLACE_BLOCK informs a tool about reallocation. For
+ Memcheck, it does four things:
+
+ - It records that the size of a block has been changed. This assumes that
+ the block was annotated as having been allocated via
+ VALGRIND_MALLOCLIKE_BLOCK. Otherwise, an error will be issued.
+
+ - If the block shrunk, it marks the freed memory as being unaddressable.
+
+ - If the block grew, it marks the new area as undefined and defines a red
+ zone past the end of the new block.
+
+ - The V-bits of the overlap between the old and the new block are preserved.
+
+ VALGRIND_RESIZEINPLACE_BLOCK should be put after allocation of the new block
+ and before deallocation of the old block.
+
+ In many cases, these three client requests will not be enough to get your
allocator working well with Memcheck. More specifically, if your allocator
writes to freed blocks in any way then a VALGRIND_MAKE_MEM_UNDEFINED call
will be necessary to mark the memory as addressable just before the zeroing
@@ -5196,9 +5214,6 @@
understand the distinction between the allocator and the rest of the
program.
- Note: there is currently no VALGRIND_REALLOCLIKE_BLOCK client request; it
- has to be emulated with MALLOCLIKE/FREELIKE and memory copying.
-
Ignored if addr == 0.
*/
#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) \
@@ -5211,6 +5226,16 @@
/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details.
Ignored if addr == 0.
*/
+#define VALGRIND_RESIZEINPLACE_BLOCK(addr, oldSizeB, newSizeB, rzB)\
+ {unsigned int _qzz_res; \
+ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
+ VG_USERREQ__RESIZEINPLACE_BLOCK, \
+ addr, oldSizeB, newSizeB, rzB, 0); \
+ }
+
+/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details.
+ Ignored if addr == 0.
+*/
#define VALGRIND_FREELIKE_BLOCK(addr, rzB) \
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
Modified: trunk/massif/ms_main.c
===================================================================
--- trunk/massif/ms_main.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/massif/ms_main.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1988,6 +1988,15 @@
*ret = 0;
return True;
}
+ case VG_USERREQ__RESIZEINPLACE_BLOCK: {
+ void* p = (void*)argv[1];
+ SizeT newSizeB = argv[3];
+
+ unrecord_block(p, /*maybe_snapshot*/True);
+ record_block(tid, p, newSizeB, /*slop_szB*/0,
+ /*exclude_first_entry*/False, /*maybe_snapshot*/True);
+ return True;
+ }
case VG_USERREQ__FREELIKE_BLOCK: {
void* p = (void*)argv[1];
unrecord_block(p, /*maybe_snapshot*/True);
Modified: trunk/memcheck/mc_errors.c
===================================================================
--- trunk/memcheck/mc_errors.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/mc_errors.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -582,12 +582,13 @@
case Err_Free:
if (xml) {
emit( " <kind>InvalidFree</kind>\n" );
- emit( " <what>Invalid free() / delete / delete[]</what>\n" );
+ emit( " <what>Invalid free() / delete / delete[]"
+ " / realloc()</what>\n" );
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
mc_pp_AddrInfo( VG_(get_error_address)(err),
&extra->Err.Free.ai, False );
} else {
- emit( "Invalid free() / delete / delete[]\n" );
+ emit( "Invalid free() / delete / delete[] / realloc()\n" );
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
mc_pp_AddrInfo( VG_(get_error_address)(err),
&extra->Err.Free.ai, False );
Modified: trunk/memcheck/mc_include.h
===================================================================
--- trunk/memcheck/mc_include.h 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/mc_include.h 2011-03-25 20:07:25 UTC (rev 11666)
@@ -127,7 +127,10 @@
void* MC_(realloc) ( ThreadId tid, void* p, SizeT new_size );
SizeT MC_(malloc_usable_size) ( ThreadId tid, void* p );
+void MC_(handle_resizeInPlace)(ThreadId tid, Addr p,
+ SizeT oldSizeB, SizeT newSizeB, SizeT rzB);
+
/*------------------------------------------------------------*/
/*--- Origin tracking translate-time support ---*/
/*------------------------------------------------------------*/
Modified: trunk/memcheck/mc_main.c
===================================================================
--- trunk/memcheck/mc_main.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/mc_main.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -4987,6 +4987,7 @@
if (!VG_IS_TOOL_USERREQ('M','C',arg[0])
&& VG_USERREQ__MALLOCLIKE_BLOCK != arg[0]
+ && VG_USERREQ__RESIZEINPLACE_BLOCK != arg[0]
&& VG_USERREQ__FREELIKE_BLOCK != arg[0]
&& VG_USERREQ__CREATE_MEMPOOL != arg[0]
&& VG_USERREQ__DESTROY_MEMPOOL != arg[0]
@@ -5121,6 +5122,15 @@
MC_AllocCustom, MC_(malloc_list) );
return True;
}
+ case VG_USERREQ__RESIZEINPLACE_BLOCK: {
+ Addr p = (Addr)arg[1];
+ SizeT oldSizeB = arg[2];
+ SizeT newSizeB = arg[3];
+ UInt rzB = arg[4];
+
+ MC_(handle_resizeInPlace) ( tid, p, oldSizeB, newSizeB, rzB );
+ return True;
+ }
case VG_USERREQ__FREELIKE_BLOCK: {
Addr p = (Addr)arg[1];
UInt rzB = arg[2];
Modified: trunk/memcheck/mc_malloc_wrappers.c
===================================================================
--- trunk/memcheck/mc_malloc_wrappers.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/mc_malloc_wrappers.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -486,7 +486,38 @@
return ( mc ? mc->szB : 0 );
}
+/* This handles the in place resize of a block, as performed by the
+ VALGRIND_RESIZEINPLACE_BLOCK client request. It is unrelated to,
+ and not used for, handling of the normal libc realloc()
+ function. */
+void MC_(handle_resizeInPlace)(ThreadId tid, Addr p,
+ SizeT oldSizeB, SizeT newSizeB, SizeT rzB)
+{
+ MC_Chunk* mc = VG_(HT_lookup) ( MC_(malloc_list), (UWord)p );
+ if (!mc || mc->szB != oldSizeB || newSizeB == 0) {
+ /* Reject if: p is not found, or oldSizeB is wrong,
+ or new block would be empty. */
+ MC_(record_free_error) ( tid, p );
+ return;
+ }
+ if (oldSizeB == newSizeB)
+ return;
+
+ mc->szB = newSizeB;
+ if (newSizeB < oldSizeB) {
+ MC_(make_mem_noaccess)( p + newSizeB, oldSizeB - newSizeB + rzB );
+ } else {
+ ExeContext* ec = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
+ UInt ecu = VG_(get_ECU_from_ExeContext)(ec);
+ MC_(make_mem_undefined_w_otag)( p + oldSizeB, newSizeB - oldSizeB,
+ ecu | MC_OKIND_HEAP );
+ if (rzB > 0)
+ MC_(make_mem_noaccess)( p + newSizeB, rzB );
+ }
+}
+
+
/*------------------------------------------------------------*/
/*--- Memory pool stuff. ---*/
/*------------------------------------------------------------*/
Modified: trunk/memcheck/tests/badfree-2trace.stderr.exp
===================================================================
--- trunk/memcheck/tests/badfree-2trace.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/badfree-2trace.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,9 +1,9 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (badfree.c:12)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (badfree.c:15)
Address 0x........ is on thread 1's stack
Modified: trunk/memcheck/tests/badfree.stderr.exp
===================================================================
--- trunk/memcheck/tests/badfree.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/badfree.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,9 +1,9 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (badfree.c:12)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (badfree.c:15)
Address 0x........ is on thread 1's stack
Modified: trunk/memcheck/tests/badfree3.stderr.exp
===================================================================
--- trunk/memcheck/tests/badfree3.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/badfree3.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,9 +1,9 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (coregrind/vg_replace_malloc.c:...)
by 0x........: main (memcheck/tests/badfree.c:12)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (coregrind/vg_replace_malloc.c:...)
by 0x........: main (memcheck/tests/badfree.c:15)
Address 0x........ is on thread 1's stack
Modified: trunk/memcheck/tests/custom_alloc.c
===================================================================
--- trunk/memcheck/tests/custom_alloc.c 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/custom_alloc.c 2011-03-25 20:07:25 UTC (rev 11666)
@@ -53,10 +53,10 @@
// don't actually free any memory... but mark it as freed
VALGRIND_FREELIKE_BLOCK( p, RZ );
}
-#undef RZ
+
//-------------------------------------------------------------------------
// Rest
//-------------------------------------------------------------------------
@@ -78,6 +78,23 @@
array[9] = 8;
array[10] = 10; // invalid write (ok w/o MALLOCLIKE -- in superblock)
+ VALGRIND_RESIZEINPLACE_BLOCK(array, sizeof(int) * 10, sizeof(int) * 5, RZ);
+ array[4] = 7;
+ array[5] = 9; // invalid write
+
+ // Make the entire array defined again such that it can be verified whether
+ // the red zone is marked properly when resizing in place.
+ VALGRIND_MAKE_MEM_DEFINED(array, sizeof(int) * 10);
+
+ VALGRIND_RESIZEINPLACE_BLOCK(array, sizeof(int) * 5, sizeof(int) * 7, RZ);
+ if (array[5]) array[4]++; // uninitialized read of array[5]
+ array[5] = 11;
+ array[6] = 7;
+ array[7] = 8; // invalid write
+
+ // invalid realloc
+ VALGRIND_RESIZEINPLACE_BLOCK(array+1, sizeof(int) * 7, sizeof(int) * 8, RZ);
+
custom_free(array); // ok
custom_free((void*)0x1); // invalid free
@@ -101,3 +118,5 @@
// leak from make_leak()
}
+
+#undef RZ
Modified: trunk/memcheck/tests/custom_alloc.stderr.exp
===================================================================
--- trunk/memcheck/tests/custom_alloc.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/custom_alloc.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -4,21 +4,42 @@
at 0x........: custom_alloc (custom_alloc.c:47)
by 0x........: main (custom_alloc.c:76)
-Invalid free() / delete / delete[]
+Invalid write of size 4
+ at 0x........: main (custom_alloc.c:83)
+ Address 0x........ is 0 bytes after a block of size 20 alloc'd
+ at 0x........: custom_alloc (custom_alloc.c:47)
+ by 0x........: main (custom_alloc.c:76)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (custom_alloc.c:90)
+
+Invalid write of size 4
+ at 0x........: main (custom_alloc.c:93)
+ Address 0x........ is 0 bytes after a block of size 28 alloc'd
+ at 0x........: custom_alloc (custom_alloc.c:47)
+ by 0x........: main (custom_alloc.c:76)
+
+Invalid free() / delete / delete[] / realloc()
+ at 0x........: main (custom_alloc.c:96)
+ Address 0x........ is 4 bytes inside a block of size 28 alloc'd
+ at 0x........: custom_alloc (custom_alloc.c:47)
+ by 0x........: main (custom_alloc.c:76)
+
+Invalid free() / delete / delete[] / realloc()
at 0x........: custom_free (custom_alloc.c:54)
- by 0x........: main (custom_alloc.c:83)
+ by 0x........: main (custom_alloc.c:100)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Mismatched free() / delete / delete []
at 0x........: custom_free (custom_alloc.c:54)
- by 0x........: main (custom_alloc.c:86)
+ by 0x........: main (custom_alloc.c:103)
Address 0x........ is 0 bytes inside a block of size 40 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (custom_alloc.c:85)
+ by 0x........: main (custom_alloc.c:102)
Invalid read of size 4
- at 0x........: main (custom_alloc.c:89)
- Address 0x........ is 0 bytes inside a block of size 40 free'd
+ at 0x........: main (custom_alloc.c:106)
+ Address 0x........ is 0 bytes inside a block of size 28 free'd
at 0x........: custom_free (custom_alloc.c:54)
- by 0x........: main (custom_alloc.c:81)
+ by 0x........: main (custom_alloc.c:98)
Modified: trunk/memcheck/tests/doublefree.stderr.exp
===================================================================
--- trunk/memcheck/tests/doublefree.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/doublefree.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,4 +1,4 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (doublefree.c:10)
Address 0x........ is 0 bytes inside a block of size 177 free'd
Modified: trunk/memcheck/tests/fprw.stderr.exp
===================================================================
--- trunk/memcheck/tests/fprw.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/fprw.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -28,7 +28,7 @@
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fprw.c:19)
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (fprw.c:22)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
Modified: trunk/memcheck/tests/malloc2.stderr.exp
===================================================================
--- trunk/memcheck/tests/malloc2.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/malloc2.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -4,7 +4,7 @@
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (malloc2.c:38)
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (malloc2.c:43)
Address 0x........ is 0 bytes inside a block of size 429 free'd
Modified: trunk/memcheck/tests/memalign_test.stderr.exp
===================================================================
--- trunk/memcheck/tests/memalign_test.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/memalign_test.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,4 +1,4 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (memalign_test.c:25)
Address 0x........ is 0 bytes inside a block of size 111,110 free'd
Modified: trunk/memcheck/tests/suppfree.stderr.exp
===================================================================
--- trunk/memcheck/tests/suppfree.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/suppfree.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -1,4 +1,4 @@
-Invalid free() / delete / delete[]
+Invalid free() / delete / delete[] / realloc()
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: ddd (suppfree.c:7)
by 0x........: ccc (suppfree.c:12)
Modified: trunk/memcheck/tests/xml1.stderr.exp
===================================================================
--- trunk/memcheck/tests/xml1.stderr.exp 2011-03-24 20:27:54 UTC (rev 11665)
+++ trunk/memcheck/tests/xml1.stderr.exp 2011-03-25 20:07:25 UTC (rev 11666)
@@ -198,7 +198,7 @@
<unique>0x........</unique>
<tid>...</tid>
<kind>InvalidFree</kind>
- <what>Invalid free() / delete / delete[]</what>
+ <what>Invalid free() / delete / delete[] / realloc()</what>
<stack>
<frame>
<ip>0x........</ip>
@@ -290,7 +290,7 @@
<unique>0x........</unique>
<tid>...</tid>
<kind>InvalidFree</kind>
- <what>Invalid free() / delete / delete[]</what>
+ <what>Invalid free() / delete / delete[] / realloc()</what>
<stack>
<frame>
<ip>0x........</ip>
|
|
From: Bart V. A. <bva...@ac...> - 2011-03-25 08:22:56
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2011-03-25 02:46:51 EDT Ended at 2011-03-25 04:22:43 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 457 tests, 12 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Tom H. <th...@cy...> - 2011-03-25 03:52:44
|
Nightly build on vauxhall ( x86_64, Fedora 14 ) Started at 2011-03-25 03:20:04 GMT Ended at 2011-03-25 03:52:17 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 == 553 tests, 4 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) memcheck/tests/origin5-bz2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) exp-ptrcheck/tests/bad_percentify (stderr) |
|
From: Tom H. <th...@cy...> - 2011-03-25 03:39:17
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2011-03-25 03:10:03 GMT Ended at 2011-03-25 03:38:56 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 == 572 tests, 3 stderr failures, 4 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Christian B. <bor...@de...> - 2011-03-24 21:35:28
|
Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z10 (s390x) ) Started at 2011-03-24 22:10:01 CET Ended at 2011-03-24 22:35:20 CET 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 == 457 tests, 6 stderr failures, 0 stdout failures, 0 post failures == none/tests/faultstatus (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |
|
From: Christian B. <bor...@de...> - 2011-03-24 21:30:57
|
Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2011-03-24 22:10:01 CET Ended at 2011-03-24 22:29:51 CET 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, 10 stderr failures, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/annotate_spinlock (stderr) drd/tests/sem_open (stderr) drd/tests/sem_open2 (stderr) drd/tests/sem_open3 (stderr) drd/tests/sem_open_traced (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |
|
From: Philippe W. <phi...@sk...> - 2011-03-24 21:13:21
|
I understood the macro VG_ is needed to avoid name clashes between the Valgrind symbols and the symbols of the program being run under Valgrind. However, I did not succeed create a name clash between the guest program symbols and Valgrind symbols. Moreover, nm on a valgrind tool (e.g. memcheck) gives a lot of globally visible text symbols (T) which do not start with the vgPlain prefix. => is using this macro (still?) needed ? (and how do we create a name clash then ?) Thanks |
|
From: Florian K. <br...@ac...> - 2011-03-24 20:44:26
|
On 03/24/2011 04:29 PM, Bart Van Assche wrote: > On Thu, Mar 24, 2011 at 8:55 PM, Florian Krohm <br...@ac...> wrote: > > Thanks for the patch. But I have to admit that I'm surprised to see > such behavior - as far as I remember on x86 and on PPC gcc 4.2.x and > g++ 4.2.x are consistent with regard to support for built-in functions > for atomic memory access. > Sorry, my mistake. I was in fact using GCC 3.4.6. Florian |
|
From: Bart V. A. <bva...@ac...> - 2011-03-24 20:30:22
|
On Thu, Mar 24, 2011 at 8:55 PM, Florian Krohm <br...@ac...> wrote: > > I'm using GCC 4.2.1 and some of the DRD test cases that are written in C++ > fail during make check. The reason is that g++ 4.2.1 does not support > __sync_add_and_fetch and friends (the C compiler does). So we need to enhance > the configury and test for the C++ compiler as well. Attached is a patch, that > fixes the problem. Thanks for the patch. But I have to admit that I'm surprised to see such behavior - as far as I remember on x86 and on PPC gcc 4.2.x and g++ 4.2.x are consistent with regard to support for built-in functions for atomic memory access. Bart. |
|
From: <sv...@va...> - 2011-03-24 20:28:04
|
Author: bart Date: 2011-03-24 20:27:54 +0000 (Thu, 24 Mar 2011) New Revision: 11665 Log: Test separately whether g++ and/or gcc support built-in functions for atomic memory access. Apparently for some distributions gcc 4.2 has that support but g++ 4.2 doesn't. This patch has been supplied by Florian Krohm. Modified: trunk/configure.in trunk/drd/tests/Makefile.am Modified: trunk/configure.in =================================================================== --- trunk/configure.in 2011-03-24 11:34:12 UTC (rev 11664) +++ trunk/configure.in 2011-03-24 20:27:54 UTC (rev 11665) @@ -1848,7 +1848,7 @@ [ ac_have_builtin_atomic=yes AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports __sync_bool_compare_and_swap() a.o.]) + AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports __sync_bool_compare_and_swap() and __sync_add_and_fetch()]) ], [ ac_have_builtin_atomic=no @@ -1859,7 +1859,34 @@ AM_CONDITIONAL([HAVE_BUILTIN_ATOMIC], [test x$ac_have_builtin_atomic = xyes]) +# does g++ have built-in functions for atomic memory access ? +AC_MSG_CHECKING([if g++ supports __sync_bool_compare_and_swap]) +safe_CXXFLAGS=$CXXFLAGS +CXXFLAGS="$mflag_primary" + +AC_LANG_PUSH(C++) +AC_TRY_LINK(, +[ + int variable = 1; + return (__sync_bool_compare_and_swap(&variable, 1, 2) + && __sync_add_and_fetch(&variable, 1) ? 1 : 0) +], +[ + ac_have_builtin_atomic_cxx=yes + AC_MSG_RESULT([yes]) + AC_DEFINE(HAVE_BUILTIN_ATOMIC_CXX, 1, [Define to 1 if g++ supports __sync_bool_compare_and_swap() and __sync_add_and_fetch()]) +], +[ + ac_have_builtin_atomic_cxx=no + AC_MSG_RESULT([no]) +]) +AC_LANG_POP(C++) + +CXXFLAGS=$safe_CXXFLAGS + +AM_CONDITIONAL([HAVE_BUILTIN_ATOMIC_CXX], [test x$ac_have_builtin_atomic_cxx = xyes]) + #---------------------------------------------------------------------------- # Ok. We're done checking. #---------------------------------------------------------------------------- Modified: trunk/drd/tests/Makefile.am =================================================================== --- trunk/drd/tests/Makefile.am 2011-03-24 11:34:12 UTC (rev 11664) +++ trunk/drd/tests/Makefile.am 2011-03-24 20:27:54 UTC (rev 11665) @@ -323,9 +323,13 @@ check_PROGRAMS += \ annotate_barrier \ annotate_rwlock \ + atomic_var \ + circular_buffer +endif + +if HAVE_BUILTIN_ATOMIC_CXX +check_PROGRAMS += \ annotate_smart_pointer \ - atomic_var \ - circular_buffer \ tsan_unittest endif |
|
From: Florian K. <br...@ac...> - 2011-03-24 20:16:12
|
Hello, can somebody with svn write access please add the files listed below to the respective svn:ignore lists? They are all specific to s390x except the last two which are in VEX. Thanks, Florian helgrind/vgpreload_helgrind-s390x-linux.so helgrind/helgrind-s390x-linux callgrind/callgrind-s390x-linux exp-dhat/vgpreload_exp-dhat-s390x-linux.so memcheck/memcheck-s390x-linux massif/massif-s390x-linux cachegrind/cachegrind-s390x-linux none/none-s390x-linux none/tests/s390x/add none/tests/s390x/add_EI none/tests/s390x/add_GE none/tests/s390x/and none/tests/s390x/and_EI none/tests/s390x/clc none/tests/s390x/clcle none/tests/s390x/cvb none/tests/s390x/cvd none/tests/s390x/div none/tests/s390x/ex_clone none/tests/s390x/ex_sig none/tests/s390x/flogr none/tests/s390x/icm none/tests/s390x/insert none/tests/s390x/insert_EI none/tests/s390x/lam_stam none/tests/s390x/lpr none/tests/s390x/mul none/tests/s390x/mul_GE none/tests/s390x/mvst none/tests/s390x/or none/tests/s390x/or_EI none/tests/s390x/srst none/tests/s390x/sub none/tests/s390x/sub_EI none/tests/s390x/tcxb none/tests/s390x/xc none/tests/s390x/xor none/tests/s390x/xor_EI lackey/lackey-s390x-linux drd/drd-s390x-linux drd/vgpreload_drd-s390x-linux.so VEX/.deps VEX/Makefile |
|
From: Florian K. <br...@ac...> - 2011-03-24 19:55:40
|
Hi Bart, I'm using GCC 4.2.1 and some of the DRD test cases that are written in C++ fail during make check. The reason is that g++ 4.2.1 does not support __sync_add_and_fetch and friends (the C compiler does). So we need to enhance the configury and test for the C++ compiler as well. Attached is a patch, that fixes the problem. Cheers, Florian |
|
From: <sv...@va...> - 2011-03-24 11:34:19
|
Author: sewardj
Date: 2011-03-24 11:34:12 +0000 (Thu, 24 Mar 2011)
New Revision: 11664
Log:
Add support for sys_ptrace. Fixes #269079.
(Ulrich Weigand, uwe...@de...)
Modified:
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2011-03-24 11:33:00 UTC (rev 11663)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2011-03-24 11:34:12 UTC (rev 11664)
@@ -342,6 +342,7 @@
DECL_TEMPLATE(arm_linux, sys_rt_sigreturn);
DECL_TEMPLATE(arm_linux, sys_set_tls);
DECL_TEMPLATE(arm_linux, sys_cacheflush);
+DECL_TEMPLATE(arm_linux, sys_ptrace);
PRE(sys_socketcall)
{
@@ -1205,7 +1206,125 @@
SET_STATUS_Success(0);
}
+// ARG3 is only used for pointers into the traced process's address
+// space and for offsets into the traced process's struct
+// user_regs_struct. It is never a pointer into this process's memory
+// space, and we should therefore not check anything it points to.
+PRE(sys_ptrace)
+{
+ PRINT("sys_ptrace ( %ld, %ld, %#lx, %#lx )", ARG1,ARG2,ARG3,ARG4);
+ PRE_REG_READ4(int, "ptrace",
+ long, request, long, pid, long, addr, long, data);
+ switch (ARG1) {
+ case VKI_PTRACE_PEEKTEXT:
+ case VKI_PTRACE_PEEKDATA:
+ case VKI_PTRACE_PEEKUSR:
+ PRE_MEM_WRITE( "ptrace(peek)", ARG4,
+ sizeof (long));
+ break;
+ case VKI_PTRACE_GETREGS:
+ PRE_MEM_WRITE( "ptrace(getregs)", ARG4,
+ sizeof (struct vki_user_regs_struct));
+ break;
+ case VKI_PTRACE_GETFPREGS:
+ PRE_MEM_WRITE( "ptrace(getfpregs)", ARG4,
+ sizeof (struct vki_user_fp));
+ break;
+ case VKI_PTRACE_GETWMMXREGS:
+ PRE_MEM_WRITE( "ptrace(getwmmxregs)", ARG4,
+ VKI_IWMMXT_SIZE);
+ break;
+ case VKI_PTRACE_GETCRUNCHREGS:
+ PRE_MEM_WRITE( "ptrace(getcrunchregs)", ARG4,
+ VKI_CRUNCH_SIZE);
+ break;
+ case VKI_PTRACE_GETVFPREGS:
+ PRE_MEM_WRITE( "ptrace(getvfpregs)", ARG4,
+ sizeof (struct vki_user_vfp) );
+ break;
+ case VKI_PTRACE_GETHBPREGS:
+ PRE_MEM_WRITE( "ptrace(gethbpregs)", ARG4,
+ sizeof (unsigned long) );
+ break;
+ case VKI_PTRACE_SETREGS:
+ PRE_MEM_READ( "ptrace(setregs)", ARG4,
+ sizeof (struct vki_user_regs_struct));
+ break;
+ case VKI_PTRACE_SETFPREGS:
+ PRE_MEM_READ( "ptrace(setfpregs)", ARG4,
+ sizeof (struct vki_user_fp));
+ break;
+ case VKI_PTRACE_SETWMMXREGS:
+ PRE_MEM_READ( "ptrace(setwmmxregs)", ARG4,
+ VKI_IWMMXT_SIZE);
+ break;
+ case VKI_PTRACE_SETCRUNCHREGS:
+ PRE_MEM_READ( "ptrace(setcrunchregs)", ARG4,
+ VKI_CRUNCH_SIZE);
+ break;
+ case VKI_PTRACE_SETVFPREGS:
+ PRE_MEM_READ( "ptrace(setvfpregs)", ARG4,
+ sizeof (struct vki_user_vfp));
+ break;
+ case VKI_PTRACE_SETHBPREGS:
+ PRE_MEM_READ( "ptrace(sethbpregs)", ARG4, sizeof(unsigned long));
+ break;
+ case VKI_PTRACE_GET_THREAD_AREA:
+ PRE_MEM_WRITE( "ptrace(get_thread_area)", ARG4, sizeof(unsigned long));
+ break;
+ case VKI_PTRACE_GETEVENTMSG:
+ PRE_MEM_WRITE( "ptrace(geteventmsg)", ARG4, sizeof(unsigned long));
+ break;
+ case VKI_PTRACE_GETSIGINFO:
+ PRE_MEM_WRITE( "ptrace(getsiginfo)", ARG4, sizeof(vki_siginfo_t));
+ break;
+ case VKI_PTRACE_SETSIGINFO:
+ PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
+ break;
+ default:
+ break;
+ }
+}
+POST(sys_ptrace)
+{
+ switch (ARG1) {
+ case VKI_PTRACE_PEEKTEXT:
+ case VKI_PTRACE_PEEKDATA:
+ case VKI_PTRACE_PEEKUSR:
+ POST_MEM_WRITE( ARG4, sizeof (long));
+ break;
+ case VKI_PTRACE_GETREGS:
+ POST_MEM_WRITE( ARG4, sizeof (struct vki_user_regs_struct));
+ break;
+ case VKI_PTRACE_GETFPREGS:
+ POST_MEM_WRITE( ARG4, sizeof (struct vki_user_fp));
+ break;
+ case VKI_PTRACE_GETWMMXREGS:
+ POST_MEM_WRITE( ARG4, VKI_IWMMXT_SIZE);
+ break;
+ case VKI_PTRACE_GETCRUNCHREGS:
+ POST_MEM_WRITE( ARG4, VKI_CRUNCH_SIZE);
+ break;
+ case VKI_PTRACE_GETVFPREGS:
+ POST_MEM_WRITE( ARG4, sizeof(struct vki_user_vfp));
+ break;
+ case VKI_PTRACE_GET_THREAD_AREA:
+ case VKI_PTRACE_GETHBPREGS:
+ case VKI_PTRACE_GETEVENTMSG:
+ POST_MEM_WRITE( ARG4, sizeof(unsigned long));
+ break;
+ case VKI_PTRACE_GETSIGINFO:
+ /* XXX: This is a simplification. Different parts of the
+ * siginfo_t are valid depending on the type of signal.
+ */
+ POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
+ break;
+ default:
+ break;
+ }
+}
+
#undef PRE
#undef POST
@@ -1262,7 +1381,7 @@
LINX_(__NR_getuid, sys_getuid16), // 24 ## P
//zz
//zz // (__NR_stime, sys_stime), // 25 * (SVr4,SVID,X/OPEN)
-// PLAXY(__NR_ptrace, sys_ptrace), // 26
+ PLAXY(__NR_ptrace, sys_ptrace), // 26
GENX_(__NR_alarm, sys_alarm), // 27
//zz // (__NR_oldfstat, sys_fstat), // 28 * L -- obsolete
GENX_(__NR_pause, sys_pause), // 29
|
|
From: <sv...@va...> - 2011-03-24 11:33:08
|
Author: sewardj
Date: 2011-03-24 11:33:00 +0000 (Thu, 24 Mar 2011)
New Revision: 11663
Log:
Definitions relating to ptrace: replace bogus x86 versions with
arm specific versions. Partial fix for #269079.
(Ulrich Weigand, uwe...@de...)
Modified:
trunk/include/vki/vki-arm-linux.h
Modified: trunk/include/vki/vki-arm-linux.h
===================================================================
--- trunk/include/vki/vki-arm-linux.h 2011-03-24 08:58:42 UTC (rev 11662)
+++ trunk/include/vki/vki-arm-linux.h 2011-03-24 11:33:00 UTC (rev 11663)
@@ -34,6 +34,10 @@
// arm is little-endian.
#define VKI_LITTLE_ENDIAN 1
+// The various comments below indicating i386-ness should be regarded
+// with great skepticism -- they are quite possibly wrong. But see
+// also bug 269079 comment 0.
+
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/asm-i386/types.h
//----------------------------------------------------------------------
@@ -190,43 +194,6 @@
// From linux-2.6.8.1/include/asm-i386/sigcontext.h
//----------------------------------------------------------------------
-struct _vki_fpreg {
- unsigned short significand[4];
- unsigned short exponent;
-};
-
-struct _vki_fpxreg {
- unsigned short significand[4];
- unsigned short exponent;
- unsigned short padding[3];
-};
-
-struct _vki_xmmreg {
- unsigned long element[4];
-};
-
-struct _vki_fpstate {
- /* Regular FPU environment */
- unsigned long cw;
- unsigned long sw;
- unsigned long tag;
- unsigned long ipoff;
- unsigned long cssel;
- unsigned long dataoff;
- unsigned long datasel;
- struct _vki_fpreg _st[8];
- unsigned short status;
- unsigned short magic; /* 0xffff = regular FPU data only */
-
- /* FXSR FPU environment */
- unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */
- unsigned long mxcsr;
- unsigned long reserved;
- struct _vki_fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */
- struct _vki_xmmreg _xmm[8];
- unsigned long padding[56];
-};
-
struct vki_sigcontext {
unsigned long trap_no;
unsigned long error_code;
@@ -546,33 +513,41 @@
// From linux-2.6.8.1/include/asm-i386/user.h
//----------------------------------------------------------------------
-struct vki_user_i387_struct {
- long cwd;
- long swd;
- long twd;
- long fip;
- long fcs;
- long foo;
- long fos;
- long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */
+struct vki_user_fp {
+ struct vki_fp_reg {
+ unsigned int sign1:1;
+ unsigned int unused:15;
+ unsigned int sign2:1;
+ unsigned int exponent:14;
+ unsigned int j:1;
+ unsigned int mantissa1:31;
+ unsigned int mantissa0:32;
+ } fpregs[8];
+ unsigned int fpsr:32;
+ unsigned int fpcr:32;
+ unsigned char ftype[8];
+ unsigned int init_flag;
};
-struct vki_user_fxsr_struct {
- unsigned short cwd;
- unsigned short swd;
- unsigned short twd;
- unsigned short fop;
- long fip;
- long fcs;
- long foo;
- long fos;
- long mxcsr;
- long reserved;
- long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
- long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
- long padding[56];
+struct vki_user_vfp {
+ unsigned long long fpregs[32];
+ unsigned long fpscr;
};
+#define VKI_IWMMXT_SIZE 0x98
+
+struct vki_iwmmxt_struct {
+ unsigned int save[VKI_IWMMXT_SIZE / sizeof(unsigned int)];
+};
+
+struct vki_crunch_state {
+ unsigned int mvdx[16][2];
+ unsigned int mvax[4][3];
+ unsigned int dspsc[2];
+};
+
+#define VKI_CRUNCH_SIZE sizeof(struct vki_crunch_state)
+
struct vki_user_regs_struct {
long uregs[18];
};
@@ -603,8 +578,7 @@
#define VKI_ELF_NGREG (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t))
typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
-typedef struct vki_user_i387_struct vki_elf_fpregset_t;
-typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t;
+typedef struct vki_user_fp vki_elf_fpregset_t;
#define VKI_AT_SYSINFO 32
@@ -799,8 +773,16 @@
#define VKI_PTRACE_SETREGS 13
#define VKI_PTRACE_GETFPREGS 14
#define VKI_PTRACE_SETFPREGS 15
-#define VKI_PTRACE_GETFPXREGS 18
-#define VKI_PTRACE_SETFPXREGS 19
+#define VKI_PTRACE_GETWMMXREGS 18
+#define VKI_PTRACE_SETWMMXREGS 19
+#define VKI_PTRACE_GET_THREAD_AREA 22
+#define VKI_PTRACE_SET_SYSCALL 23
+#define VKI_PTRACE_GETCRUNCHREGS 25
+#define VKI_PTRACE_SETCRUNCHREGS 26
+#define VKI_PTRACE_GETVFPREGS 27
+#define VKI_PTRACE_SETVFPREGS 28
+#define VKI_PTRACE_GETHBPREGS 29
+#define VKI_PTRACE_SETHBPREGS 30
//----------------------------------------------------------------------
// From linux-2.6.15.4/include/asm-i386/vm86.h
|
|
From: <sv...@va...> - 2011-03-24 11:14:10
|
Author: sewardj
Date: 2011-03-24 11:14:02 +0000 (Thu, 24 Mar 2011)
New Revision: 2116
Log:
Handle more cases of SUB (SP minus immediate/register). Also
tighten up checks for SP plus register. Fixes #269078.
(Ulrich Weigand, uwe...@de...)
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
===================================================================
--- trunk/priv/guest_arm_toIR.c 2011-03-24 09:01:50 UTC (rev 2115)
+++ trunk/priv/guest_arm_toIR.c 2011-03-24 11:14:02 UTC (rev 2116)
@@ -16010,8 +16010,9 @@
UInt rN = INSN0(3,0);
UInt rD = INSN1(11,8);
Bool valid = !isBadRegT(rN) && !isBadRegT(rD);
- /* but allow "sub.w sp, sp, #constT" */
- if (!valid && !isRSB && rN == 13 && rD == 13)
+ /* but allow "sub{s}.w reg, sp, #constT
+ this is (T2) of "SUB (SP minus immediate)" */
+ if (!valid && !isRSB && rN == 13 && rD != 15)
valid = True;
if (valid) {
IRTemp argL = newTemp(Ity_I32);
@@ -16158,14 +16159,16 @@
UInt how = INSN1(5,4);
Bool valid = !isBadRegT(rD) && !isBadRegT(rN) && !isBadRegT(rM);
- /* but allow "add.w reg, sp, reg w/ no shift */
+ /* but allow "add.w reg, sp, reg w/ no shift
+ (T3) "ADD (SP plus register) */
if (!valid && INSN0(8,5) == BITS4(1,0,0,0) // add
- && rN == 13 && imm5 == 0 && how == 0) {
+ && rD != 15 && rN == 13 && imm5 == 0 && how == 0) {
valid = True;
}
- /* also allow "sub.w sp, sp, reg w/ no shift */
- if (!valid && INSN0(8,5) == BITS4(1,1,0,1) // add
- && rD == 13 && rN == 13 && imm5 == 0 && how == 0) {
+ /* also allow "sub.w reg, sp, reg w/ no shift
+ (T1) "SUB (SP minus register) */
+ if (!valid && INSN0(8,5) == BITS4(1,1,0,1) // sub
+ && rD != 15 && rN == 13 && imm5 == 0 && how == 0) {
valid = True;
}
if (valid) {
|
|
From: <sv...@va...> - 2011-03-24 09:01:59
|
Author: sewardj
Date: 2011-03-24 09:01:50 +0000 (Thu, 24 Mar 2011)
New Revision: 2115
Log:
s390x: MHY is not universally available. Fixes #268930.
(Florian Krohm, br...@ac...)
Modified:
trunk/priv/host_s390_defs.c
Modified: trunk/priv/host_s390_defs.c
===================================================================
--- trunk/priv/host_s390_defs.c 2011-03-24 08:57:29 UTC (rev 2114)
+++ trunk/priv/host_s390_defs.c 2011-03-24 09:01:50 UTC (rev 2115)
@@ -3338,7 +3338,7 @@
/*--- Wrapper functions ---*/
/*------------------------------------------------------------*/
-/* r1[32:63],r1+1[32:63] = r1+1[32:63] * memory[op2addr][32:63] */
+/* r1[32:63],r1+1[32:63] = r1+1[32:63] * memory[op2addr][0:31] */
static UChar *
s390_emit_MFYw(UChar *p, UChar r1, UChar x, UChar b, UShort dl, UChar dh)
{
@@ -3351,6 +3351,19 @@
return s390_emit_MR(p, r1, R0);
}
+/* r1[32:63] = r1[32:63] * memory[op2addr][0:15] */
+static UChar *
+s390_emit_MHYw(UChar *p, UChar r1, UChar x, UChar b, UShort dl, UChar dh)
+{
+ if (s390_host_has_gie) {
+ return s390_emit_MHY(p, r1, x, b, dl, dh);
+ }
+
+ /* Load from memory into R0, then MULTIPLY with R1 */
+ p = s390_emit_LHY(p, R0, x, b, dl, dh);
+ return s390_emit_MSR(p, r1, R0);
+}
+
/* r1[32:63] = r1[32:63] * i2 */
static UChar *
s390_emit_MSFIw(UChar *p, UChar r1, UInt i2)
@@ -5023,7 +5036,7 @@
return s390_emit_SHY(buf, dst, x, b, DISP20(d));
case S390_ALU_MUL:
- return s390_emit_MHY(buf, dst, x, b, DISP20(d));
+ return s390_emit_MHYw(buf, dst, x, b, DISP20(d));
/* For bitwise operations: Move two bytes from memory into scratch
register r0; then perform operation */
|
|
From: <sv...@va...> - 2011-03-24 08:58:50
|
Author: sewardj
Date: 2011-03-24 08:58:42 +0000 (Thu, 24 Mar 2011)
New Revision: 11662
Log:
Test improvements for FLOGR. Part of #268715.
(Florian Krohm, br...@ac...)
Modified:
trunk/none/tests/s390x/flogr.c
Modified: trunk/none/tests/s390x/flogr.c
===================================================================
--- trunk/none/tests/s390x/flogr.c 2011-03-22 16:49:25 UTC (rev 11661)
+++ trunk/none/tests/s390x/flogr.c 2011-03-24 08:58:42 UTC (rev 11662)
@@ -1,15 +1,25 @@
#include <stdio.h>
+/* The FLOGR insn reads from register R2 and writes to register R1 and
+ R1 + 1. So we need to distinguish three cases:
+ (1) All three registers R1, R1 + 1, and R2 are distinct
+ (2) R2 == R1
+ (3) R2 == R1 + 1
+
+ These are tested by flogr1, flogr2, and flogr3, respectively. */
+
/* Call FLOGR on INPUT. The results are returned through the parms. */
+
+/* R2 != R1 && R2 != R1 + 1 */
void
-flogr(unsigned long input, unsigned long *bitpos, unsigned long *modval,
- unsigned int *cc)
+flogr1(unsigned long input, unsigned long *bitpos, unsigned long *modval,
+ unsigned int *cc)
{
unsigned int psw;
register unsigned long value asm("4") = input;
- asm volatile ( "flogr 2, %[val]\n\t"
+ asm volatile ( ".long 0xB9830024\n\t" // "flogr 2, %[val]\n\t"
"ipm %[psw]\n\t"
"stg 2, %[bitpos]\n\t"
"stg 3, %[modval]\n\t"
@@ -25,16 +35,65 @@
#endif
}
+/* R2 == R1 */
void
-runtest(void)
+flogr2(unsigned long input, unsigned long *bitpos, unsigned long *modval,
+ unsigned int *cc)
{
+ unsigned int psw;
+ register unsigned long value asm("2") = input;
+
+ asm volatile ( ".long 0xB9830022\n\t" // "flogr 2, %[val]\n\t"
+ "ipm %[psw]\n\t"
+ "stg 2, %[bitpos]\n\t"
+ "stg 3, %[modval]\n\t"
+ : [bitpos]"=m"(*bitpos), [modval]"=m"(*modval),
+ [psw]"=d"(psw), [val] "+d"(value)
+ :
+ : "3", "cc");
+
+ *cc = psw >> 28;
+#if 0
+ printf("value = %lx, bitpos = %lu, modval = %lx, cc = %d\n",
+ value, *bitpos, *modval, *cc);
+#endif
+}
+
+/* R2 == R1 + 1 */
+void
+flogr3(unsigned long input, unsigned long *bitpos, unsigned long *modval,
+ unsigned int *cc)
+{
+ unsigned int psw;
+ register unsigned long value asm("3") = input;
+
+ asm volatile ( ".long 0xB9830023\n\t" // "flogr 2, %[val]\n\t"
+ "ipm %[psw]\n\t"
+ "stg 2, %[bitpos]\n\t"
+ "stg 3, %[modval]\n\t"
+ : [bitpos]"=m"(*bitpos), [modval]"=m"(*modval),
+ [psw]"=d"(psw), [val] "+d"(value)
+ :
+ : "2", "cc");
+
+ *cc = psw >> 28;
+#if 0
+ printf("value = %lx, bitpos = %lu, modval = %lx, cc = %d\n",
+ value, *bitpos, *modval, *cc);
+#endif
+}
+
+void
+runtest(void (*func)(unsigned long, unsigned long *, unsigned long *,
+ unsigned int *))
+{
unsigned long bitpos, modval, value;
unsigned int cc;
int i;
/* Value 0 is special */
value = 0;
- flogr(value, &bitpos, &modval, &cc);
+ func(value, &bitpos, &modval, &cc);
if (modval != 0) fprintf(stderr, "modval is wrong for %lx\n", value);
if (bitpos != 64) fprintf(stderr, "bitpos is wrong for %lx\n", value);
if (cc != 0) fprintf(stderr, "cc is wrong for %lx\n", value);
@@ -42,7 +101,7 @@
/* Test with exactly 1 bit set */
for (i = 0; i < 64; ++i) {
value = 1ull << i;
- flogr(value, &bitpos, &modval, &cc);
+ func(value, &bitpos, &modval, &cc);
if (modval != 0) fprintf(stderr, "modval is wrong for %lx\n", value);
if (bitpos != 63 - i) fprintf(stderr, "bitpos is wrong for %lx\n", value);
if (cc != 2) fprintf(stderr, "cc is wrong for %lx\n", value);
@@ -52,7 +111,7 @@
for (i = 1; i < 64; ++i) {
value = 1ull << i;
value = value | (value - 1);
- flogr(value, &bitpos, &modval, &cc);
+ func(value, &bitpos, &modval, &cc);
if (modval != (value >> 1)) fprintf(stderr, "modval is wrong for %lx\n", value);
if (bitpos != 63 - i) fprintf(stderr, "bitpos is wrong for %lx\n", value);
if (cc != 2) fprintf(stderr, "cc is wrong for %lx\n", value);
@@ -62,7 +121,9 @@
int main()
{
- runtest();
+ runtest(flogr1);
+ runtest(flogr2);
+ runtest(flogr3);
return 0;
}
|
|
From: <sv...@va...> - 2011-03-24 08:57:38
|
Author: sewardj
Date: 2011-03-24 08:57:29 +0000 (Thu, 24 Mar 2011)
New Revision: 2114
Log:
s390x: FLOGR is not universally available. Fixes #268715.
(Florian Krohm, br...@ac...)
Modified:
trunk/priv/host_s390_defs.c
trunk/priv/host_s390_defs.h
trunk/priv/host_s390_isel.c
Modified: trunk/priv/host_s390_defs.c
===================================================================
--- trunk/priv/host_s390_defs.c 2011-03-24 08:50:04 UTC (rev 2113)
+++ trunk/priv/host_s390_defs.c 2011-03-24 08:57:29 UTC (rev 2114)
@@ -574,10 +574,10 @@
s390_opnd_RMI_get_reg_usage(u, insn->variant.divs.op2);
break;
- case S390_INSN_FLOGR:
- addHRegUse(u, HRmWrite, insn->variant.flogr.bitpos);
- addHRegUse(u, HRmWrite, insn->variant.flogr.modval);
- s390_opnd_RMI_get_reg_usage(u, insn->variant.flogr.src);
+ case S390_INSN_CLZ:
+ addHRegUse(u, HRmWrite, insn->variant.clz.num_bits);
+ addHRegUse(u, HRmWrite, insn->variant.clz.clobber);
+ s390_opnd_RMI_get_reg_usage(u, insn->variant.clz.src);
break;
case S390_INSN_UNOP:
@@ -781,10 +781,10 @@
s390_opnd_RMI_map_regs(m, &insn->variant.divs.op2);
break;
- case S390_INSN_FLOGR:
- insn->variant.flogr.bitpos = lookupHRegRemap(m, insn->variant.flogr.bitpos);
- insn->variant.flogr.modval = lookupHRegRemap(m, insn->variant.flogr.modval);
- s390_opnd_RMI_map_regs(m, &insn->variant.flogr.src);
+ case S390_INSN_CLZ:
+ insn->variant.clz.num_bits = lookupHRegRemap(m, insn->variant.clz.num_bits);
+ insn->variant.clz.clobber = lookupHRegRemap(m, insn->variant.clz.clobber);
+ s390_opnd_RMI_map_regs(m, &insn->variant.clz.src);
break;
case S390_INSN_UNOP:
@@ -3818,19 +3818,19 @@
s390_insn *
-s390_insn_flogr(UChar size, HReg bitpos, HReg modval, s390_opnd_RMI src)
+s390_insn_clz(UChar size, HReg num_bits, HReg clobber, s390_opnd_RMI src)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
vassert(size == 8);
- vassert(! hregIsVirtual(bitpos));
- vassert(! hregIsVirtual(modval));
+ vassert(! hregIsVirtual(num_bits));
+ vassert(! hregIsVirtual(clobber));
- insn->tag = S390_INSN_FLOGR;
+ insn->tag = S390_INSN_CLZ;
insn->size = size;
- insn->variant.flogr.bitpos = bitpos; /* bit position */
- insn->variant.flogr.modval = modval; /* modified input value */
- insn->variant.flogr.src = src;
+ insn->variant.clz.num_bits = num_bits;
+ insn->variant.clz.clobber = clobber;
+ insn->variant.clz.src = src;
return insn;
}
@@ -4329,9 +4329,9 @@
&insn->variant.divs.op2);
break;
- case S390_INSN_FLOGR:
- s390_sprintf(buf, "%M %R,%O", "v-flogr", insn->variant.flogr.bitpos,
- &insn->variant.flogr.src);
+ case S390_INSN_CLZ:
+ s390_sprintf(buf, "%M %R,%O", "v-clz", insn->variant.clz.num_bits,
+ &insn->variant.clz.src);
break;
case S390_INSN_UNOP:
@@ -6003,49 +6003,75 @@
static UChar *
-s390_insn_flogr_emit(UChar *buf, const s390_insn *insn)
+s390_insn_clz_emit(UChar *buf, const s390_insn *insn)
{
s390_opnd_RMI src;
- UChar r1, r1p1;
+ UChar r1, r1p1, r2, *p;
- r1 = hregNumber(insn->variant.flogr.bitpos);
- r1p1 = hregNumber(insn->variant.flogr.modval);
+ r1 = hregNumber(insn->variant.clz.num_bits);
+ r1p1 = hregNumber(insn->variant.clz.clobber);
vassert((r1 & 0x1) == 0);
vassert(r1p1 == r1 + 1);
- src = insn->variant.flogr.src;
+ p = buf;
+ src = insn->variant.clz.src;
+ /* Get operand and move it to r2 */
switch (src.tag) {
- case S390_OPND_REG: {
- UInt r2 = hregNumber(src.variant.reg);
+ case S390_OPND_REG:
+ r2 = hregNumber(src.variant.reg);
+ break;
- return s390_emit_FLOGR(buf, r1, r2);
- }
-
case S390_OPND_AMODE: {
const s390_amode *am = src.variant.am;
UChar b = hregNumber(am->b);
UChar x = hregNumber(am->x);
Int d = am->d;
- buf = s390_emit_LG(buf, R0, x, b, DISP20(d));
- return s390_emit_FLOGR(buf, r1, R0);
+ p = s390_emit_LG(p, R0, x, b, DISP20(d));
+ r2 = R0;
+ break;
}
case S390_OPND_IMMEDIATE: {
ULong value = src.variant.imm;
- buf = s390_emit_load_64imm(buf, R0, value);
- return s390_emit_FLOGR(buf, r1, R0);
+ p = s390_emit_load_64imm(p, R0, value);
+ r2 = R0;
+ break;
}
default:
goto fail;
}
+ /* Use FLOGR if you can */
+ if (s390_host_has_eimm) {
+ return s390_emit_FLOGR(p, r1, r2);
+ }
+
+ /*
+ r0 = r2;
+ r1 = 64;
+ while (r0 != 0) {
+ r1 -= 1;
+ r0 >>= 1;
+ }
+ */
+ p = s390_emit_LTGR(p, R0, r2);
+ p = s390_emit_LLILL(p, r1, 64);
+
+ p = s390_emit_BRC(p, S390_CC_E, (4 + 4 + 6 + 4 + 4)/ 2); /* 4 bytes */
+ p = s390_emit_AGHI(p, r1, (UShort)-1); /* r1 -= 1; 4 bytes */
+ p = s390_emit_SRLG(p, R0, R0, R0, DISP20(1)); /* r0 >>= 1; 6 bytes */
+ p = s390_emit_LTGR(p, R0, R0); /* set cc 4 bytes */
+ p = s390_emit_BRC(p, S390_CC_NE, /* 4 bytes */
+ (UShort)(-(4 + 6 + 4) / 2));
+ return p;
+
fail:
- vpanic("s390_insn_flogr_emit");
+ vpanic("s390_insn_clz_emit");
}
@@ -6721,8 +6747,8 @@
end = s390_insn_divs_emit(buf, insn);
break;
- case S390_INSN_FLOGR:
- end = s390_insn_flogr_emit(buf, insn);
+ case S390_INSN_CLZ:
+ end = s390_insn_clz_emit(buf, insn);
break;
case S390_INSN_UNOP:
Modified: trunk/priv/host_s390_defs.h
===================================================================
--- trunk/priv/host_s390_defs.h 2011-03-24 08:50:04 UTC (rev 2113)
+++ trunk/priv/host_s390_defs.h 2011-03-24 08:57:29 UTC (rev 2114)
@@ -131,7 +131,7 @@
S390_INSN_MUL, /* n-bit operands; 2n-bit result */
S390_INSN_DIV, /* 2n-bit dividend; n-bit divisor; n-bit quot/rem */
S390_INSN_DIVS, /* n-bit dividend; n-bit divisor; n-bit quot/rem */
- S390_INSN_FLOGR,
+ S390_INSN_CLZ, /* count left-most zeroes */
S390_INSN_UNOP,
S390_INSN_TEST, /* test operand and set cc */
S390_INSN_CC2BOOL,/* convert condition code to 0/1 */
@@ -308,10 +308,10 @@
s390_opnd_RMI op2;
} divs;
struct {
- HReg bitpos; /* position of leftmost '1' bit r10 */
- HReg modval; /* modified input value r11 */
+ HReg num_bits; /* number of leftmost '0' bits r10 */
+ HReg clobber; /* unspecified r11 */
s390_opnd_RMI src;
- } flogr;
+ } clz;
struct {
s390_unop_t tag;
HReg dst;
@@ -418,8 +418,8 @@
s390_insn *s390_insn_div(UChar size, HReg op1_hi, HReg op1_lo,
s390_opnd_RMI op2, Bool signed_divide);
s390_insn *s390_insn_divs(UChar size, HReg rem, HReg op1, s390_opnd_RMI op2);
-s390_insn *s390_insn_flogr(UChar size, HReg bitpos, HReg modval,
- s390_opnd_RMI op);
+s390_insn *s390_insn_clz(UChar size, HReg num_bits, HReg clobber,
+ s390_opnd_RMI op);
s390_insn *s390_insn_cas(UChar size, HReg op1, s390_amode *op2, HReg op3,
HReg old);
s390_insn *s390_insn_unop(UChar size, s390_unop_t tag, HReg dst,
Modified: trunk/priv/host_s390_isel.c
===================================================================
--- trunk/priv/host_s390_isel.c 2011-03-24 08:50:04 UTC (rev 2113)
+++ trunk/priv/host_s390_isel.c 2011-03-24 08:57:29 UTC (rev 2114)
@@ -1182,17 +1182,14 @@
case Iop_Clz64: {
HReg r10, r11;
- /* We use non-virtual registers r10 and r11 as pair for the two
- output values */
+ /* This will be implemented using FLOGR, if possible. So we need to
+ set aside a pair of non-virtual registers. The result (number of
+ left-most zero bits) will be in r10. The value in r11 is unspecified
+ and must not be used. */
r10 = make_gpr(env, 10);
r11 = make_gpr(env, 11);
- /* flogr */
- addInstr(env, s390_insn_flogr(8, r10, r11, opnd));
-
- /* The result is in registers r10 (bit position) and r11 (modified
- input value). The value in r11 is not needed and will be
- discarded. */
+ addInstr(env, s390_insn_clz(8, r10, r11, opnd));
addInstr(env, s390_insn_move(8, dst, r10));
return dst;
}
|
|
From: <sv...@va...> - 2011-03-24 08:50:13
|
Author: sewardj
Date: 2011-03-24 08:50:04 +0000 (Thu, 24 Mar 2011)
New Revision: 2113
Log:
s390x: improve IR generation for XC. Fixes #268621.
(Florian Krohm, br...@ac...)
Modified:
trunk/priv/guest_s390_toIR.c
Modified: trunk/priv/guest_s390_toIR.c
===================================================================
--- trunk/priv/guest_s390_toIR.c 2011-03-22 16:51:38 UTC (rev 2112)
+++ trunk/priv/guest_s390_toIR.c 2011-03-24 08:50:04 UTC (rev 2113)
@@ -9112,6 +9112,45 @@
return "xc";
}
+static void
+s390_irgen_XC_sameloc(UChar length, UChar b, UShort d)
+{
+ IRTemp counter = newTemp(Ity_I32);
+ IRTemp start = newTemp(Ity_I64);
+ IRTemp addr = newTemp(Ity_I64);
+
+ assign(start,
+ binop(Iop_Add64, mkU64(d), b != 0 ? get_gpr_dw0(b) : mkU64(0)));
+
+ if (length < 8) {
+ UInt i;
+
+ for (i = 0; i <= length; ++i) {
+ store(binop(Iop_Add64, mkexpr(start), mkU64(i)), mkU8(0));
+ }
+ } else {
+ assign(counter, get_counter_w0());
+
+ assign(addr, binop(Iop_Add64, mkexpr(start),
+ unop(Iop_32Uto64, mkexpr(counter))));
+
+ store(mkexpr(addr), mkU8(0));
+
+ /* Check for end of field */
+ put_counter_w0(binop(Iop_Add32, mkexpr(counter), mkU32(1)));
+ if_condition_goto(binop(Iop_CmpNE32, mkexpr(counter), mkU32(length)),
+ guest_IA_curr_instr);
+
+ /* Reset counter */
+ put_counter_dw0(mkU64(0));
+ }
+
+ s390_cc_thunk_put1(S390_CC_OP_BITWISE, mktemp(Ity_I32, mkU32(0)), False);
+
+ if (unlikely(vex_traceflags & VEX_TRACE_FE))
+ s390_disasm(ENC3(MNM, UDLB, UDXB), "xc", d, length, b, d, 0, b);
+}
+
static HChar *
s390_irgen_NC(UChar length, IRTemp start1, IRTemp start2)
{
@@ -12565,9 +12604,14 @@
case 0xd6ULL: s390_format_SS_L0RDRD(s390_irgen_OC, ovl.fmt.SS.l,
ovl.fmt.SS.b1, ovl.fmt.SS.d1,
ovl.fmt.SS.b2, ovl.fmt.SS.d2); goto ok;
- case 0xd7ULL: s390_format_SS_L0RDRD(s390_irgen_XC, ovl.fmt.SS.l,
- ovl.fmt.SS.b1, ovl.fmt.SS.d1,
- ovl.fmt.SS.b2, ovl.fmt.SS.d2); goto ok;
+ case 0xd7ULL:
+ if (ovl.fmt.SS.b1 == ovl.fmt.SS.b2 && ovl.fmt.SS.d1 == ovl.fmt.SS.d2)
+ s390_irgen_XC_sameloc(ovl.fmt.SS.l, ovl.fmt.SS.b1, ovl.fmt.SS.d1);
+ else
+ s390_format_SS_L0RDRD(s390_irgen_XC, ovl.fmt.SS.l,
+ ovl.fmt.SS.b1, ovl.fmt.SS.d1,
+ ovl.fmt.SS.b2, ovl.fmt.SS.d2);
+ goto ok;
case 0xd9ULL: /* MVCK */ goto unimplemented;
case 0xdaULL: /* MVCP */ goto unimplemented;
case 0xdbULL: /* MVCS */ goto unimplemented;
|
|
From: Bart V. A. <bva...@ac...> - 2011-03-23 08:09:20
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2011-03-23 02:34:06 EDT Ended at 2011-03-23 04:09:08 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 457 tests, 12 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) callgrind/tests/simwork-both (stdout) callgrind/tests/simwork-both (stderr) callgrind/tests/simwork-branch (stdout) callgrind/tests/simwork-branch (stderr) none/tests/empty-exe (stderr) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Tom H. <th...@cy...> - 2011-03-23 03:52:42
|
Nightly build on vauxhall ( x86_64, Fedora 14 ) Started at 2011-03-23 03:20:05 GMT Ended at 2011-03-23 03:52:23 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 == 553 tests, 4 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) memcheck/tests/origin5-bz2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) exp-ptrcheck/tests/bad_percentify (stderr) |
|
From: Tom H. <th...@cy...> - 2011-03-23 03:39:17
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2011-03-23 03:10:03 GMT Ended at 2011-03-23 03:38:57 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 == 572 tests, 3 stderr failures, 4 stdout failures, 0 post failures == none/tests/amd64/bug132918 (stdout) none/tests/amd64/fxtract (stdout) none/tests/amd64/sse4-64 (stdout) none/tests/x86/fxtract (stdout) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Rich C. <rc...@wi...> - 2011-03-23 02:50:22
|
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.1-1.2-desktop x86_64 )
Started at 2011-03-22 21:30:01 CDT
Ended at 2011-03-22 21:50:08 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 568 tests, 75 stderr failures, 55 stdout failures, 3 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/x86/bug152022 (stderr)
memcheck/tests/x86/espindola2 (stderr)
memcheck/tests/x86/fpeflags (stderr)
memcheck/tests/x86/fprem (stdout)
memcheck/tests/x86/fprem (stderr)
memcheck/tests/x86/fxsave (stdout)
memcheck/tests/x86/fxsave (stderr)
memcheck/tests/x86/insn_basic (stdout)
memcheck/tests/x86/insn_basic (stderr)
memcheck/tests/x86/insn_cmov (stdout)
memcheck/tests/x86/insn_cmov (stderr)
memcheck/tests/x86/insn_fpu (stdout)
memcheck/tests/x86/insn_fpu (stderr)
memcheck/tests/x86/insn_mmx (stdout)
memcheck/tests/x86/insn_mmx (stderr)
memcheck/tests/x86/insn_sse (stdout)
memcheck/tests/x86/insn_sse (stderr)
memcheck/tests/x86/insn_sse2 (stdout)
memcheck/tests/x86/insn_sse2 (stderr)
memcheck/tests/x86/more_x86_fp (stdout)
memcheck/tests/x86/more_x86_fp (stderr)
memcheck/tests/x86/pushfpopf (stdout)
memcheck/tests/x86/pushfpopf (stderr)
memcheck/tests/x86/pushfw_x86 (stdout)
memcheck/tests/x86/pushfw_x86 (stderr)
memcheck/tests/x86/pushpopmem (stdout)
memcheck/tests/x86/pushpopmem (stderr)
memcheck/tests/x86/sse1_memory (stdout)
memcheck/tests/x86/sse1_memory (stderr)
memcheck/tests/x86/sse2_memory (stdout)
memcheck/tests/x86/sse2_memory (stderr)
memcheck/tests/x86/tronical (stderr)
memcheck/tests/x86/xor-undef-x86 (stdout)
memcheck/tests/x86/xor-undef-x86 (stderr)
memcheck/tests/x86-linux/bug133694 (stdout)
memcheck/tests/x86-linux/bug133694 (stderr)
memcheck/tests/x86-linux/int3-x86 (stdout)
memcheck/tests/x86-linux/int3-x86 (stderr)
memcheck/tests/x86-linux/scalar (stderr)
memcheck/tests/x86-linux/scalar_exit_group (stderr)
memcheck/tests/x86-linux/scalar_fork (stderr)
memcheck/tests/x86-linux/scalar_supp (stderr)
memcheck/tests/x86-linux/scalar_vfork (stderr)
cachegrind/tests/x86/fpu-28-108 (stderr)
none/tests/x86/aad_aam (stdout)
none/tests/x86/aad_aam (stderr)
none/tests/x86/badseg (stdout)
none/tests/x86/badseg (stderr)
none/tests/x86/bt_everything (stdout)
none/tests/x86/bt_everything (stderr)
none/tests/x86/bt_literal (stdout)
none/tests/x86/bt_literal (stderr)
none/tests/x86/bug125959-x86 (stdout)
none/tests/x86/bug125959-x86 (stderr)
none/tests/x86/bug126147-x86 (stdout)
none/tests/x86/bug126147-x86 (stderr)
none/tests/x86/bug132813-x86 (stdout)
none/tests/x86/bug132813-x86 (stderr)
none/tests/x86/bug135421-x86 (stdout)
none/tests/x86/bug135421-x86 (stderr)
none/tests/x86/bug137714-x86 (stdout)
none/tests/x86/bug137714-x86 (stderr)
none/tests/x86/bug152818-x86 (stdout)
none/tests/x86/bug152818-x86 (stderr)
none/tests/x86/cmpxchg8b (stdout)
none/tests/x86/cmpxchg8b (stderr)
none/tests/x86/cpuid (stdout)
none/tests/x86/cpuid (stderr)
none/tests/x86/cse_fail (stdout)
none/tests/x86/cse_fail (stderr)
none/tests/x86/fcmovnu (stdout)
none/tests/x86/fcmovnu (stderr)
none/tests/x86/fpu_lazy_eflags (stdout)
none/tests/x86/fpu_lazy_eflags (stderr)
none/tests/x86/fxtract (stdout)
none/tests/x86/fxtract (stderr)
none/tests/x86/getseg (stdout)
none/tests/x86/getseg (stderr)
none/tests/x86/incdec_alt (stdout)
none/tests/x86/incdec_alt (stderr)
none/tests/x86/insn_basic (stdout)
none/tests/x86/insn_basic (stderr)
none/tests/x86/insn_cmov (stdout)
none/tests/x86/insn_cmov (stderr)
none/tests/x86/insn_fpu (stdout)
none/tests/x86/insn_fpu (stderr)
none/tests/x86/insn_mmx (stdout)
none/tests/x86/insn_mmx (stderr)
none/tests/x86/insn_sse (stdout)
none/tests/x86/insn_sse (stderr)
none/tests/x86/insn_sse2 (stdout)
none/tests/x86/insn_sse2 (stderr)
none/tests/x86/insn_sse3 (stdout)
none/tests/x86/insn_sse3 (stderr)
none/tests/x86/insn_ssse3 (stdout)
none/tests/x86/insn_ssse3 (stderr)
none/tests/x86/jcxz (stdout)
none/tests/x86/jcxz (stderr)
none/tests/x86/lahf (stdout)
none/tests/x86/lahf (stderr)
none/tests/x86/looper (stdout)
none/tests/x86/looper (stderr)
none/tests/x86/movx (stdout)
none/tests/x86/movx (stderr)
none/tests/x86/pushpopseg (stdout)
none/tests/x86/pushpopseg (stderr)
none/tests/x86/sbbmisc (stdout)
none/tests/x86/sbbmisc (stderr)
none/tests/x86/smc1 (stdout)
none/tests/x86/smc1 (stderr)
none/tests/x86/ssse3_misaligned (stderr)
none/tests/x86/x86locked (stdout)
none/tests/x86/x86locked (stderr)
none/tests/x86/xadd (stdout)
none/tests/x86/xadd (stderr)
none/tests/x86-linux/seg_override (stdout)
none/tests/x86-linux/seg_override (stderr)
none/tests/x86-linux/sigcontext (stdout)
none/tests/x86-linux/sigcontext (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
exp-bbv/tests/x86/complex_rep (stderr)
exp-bbv/tests/x86/fldcw_check (stderr)
exp-bbv/tests/x86/million (stderr)
exp-bbv/tests/x86/rep_prefix (stderr)
exp-bbv/tests/x86-linux/clone_test (stderr)
exp-bbv/tests/x86-linux/clone_test (post)
exp-bbv/tests/x86-linux/ll (stdout)
exp-bbv/tests/x86-linux/ll (stderr)
=================================================
./valgrind-new/cachegrind/tests/x86/fpu-28-108.stderr.diff
=================================================
--- fpu-28-108.stderr.exp 2011-03-22 21:40:22.446349441 -0500
+++ fpu-28-108.stderr.out 2011-03-22 21:45:21.922968608 -0500
@@ -1,17 +1 @@
-
-
-I refs:
-I1 misses:
-LLi misses:
-I1 miss rate:
-LLi miss rate:
-
-D refs:
-D1 misses:
-LLd misses:
-D1 miss rate:
-LLd miss rate:
-
-LL refs:
-LL misses:
-LL miss rate:
+valgrind: ./fpu-28-108: No such file or directory
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/clone_test.post.diff
=================================================
--- clone_test.post.exp 2011-03-22 21:40:14.754203889 -0500
+++ clone_test.post.out 2011-03-22 21:50:08.888299375 -0500
@@ -1,58 +0,0 @@
-T 4 996 5 2 3 98991
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 1001 2 3 98994
-T 100000
-T 100000
-T 100000
-T 100000
-
-
-# Thread 1
-# Total intervals: 15 (Interval Size 100000)
-# Total instructions: 1501007
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-
-T 2 3 99996
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 100000
-T 99996 4
-T 100000
-T 100000
-T 100000
-T 100000
-T 99998 2
-
-
-# Thread 2
-# Total intervals: 25 (Interval Size 100000)
-# Total instructions: 2500001
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/clone_test.stderr.diff
=================================================
--- clone_test.stderr.exp 2011-03-22 21:40:14.754203889 -0500
+++ clone_test.stderr.out 2011-03-22 21:50:08.870299041 -0500
@@ -1,12 +0,0 @@
-# Thread 1
-# Total intervals: 15 (Interval Size 100000)
-# Total instructions: 1501007
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
-# Thread 2
-# Total intervals: 25 (Interval Size 100000)
-# Total instructions: 2500001
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/ll.stderr.diff
=================================================
--- ll.stderr.exp 2011-03-22 21:40:14.752203840 -0500
+++ ll.stderr.out 2011-03-22 21:50:08.909299764 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 39 (Interval Size 1000)
-# Total instructions: 39439
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86-linux/ll.stdout.diff
=================================================
--- ll.stdout.exp 2011-03-22 21:40:14.752203840 -0500
+++ ll.stdout.out 2011-03-22 21:50:08.904299673 -0500
@@ -1,17 +0,0 @@
-[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
-[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
-[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
-[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
-[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
-[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
-
-[7CLinux Version 2.6.29, Compiled #1 SMP Mon May 4 09:51:54 EDT 2009
-[5COne 1665MHz AMD Athlon(tm) Processor, 512M RAM, 3330.53 Bogomips Total
-[37Ctobler[0m
-
=================================================
./valgrind-new/exp-bbv/tests/x86/complex_rep.stderr.diff
=================================================
--- complex_rep.stderr.exp 2011-03-22 21:40:14.939207290 -0500
+++ complex_rep.stderr.out 2011-03-22 21:50:08.769297166 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 100000)
-# Total instructions: 8206
-# Total reps: 2100228
-# Unique reps: 2052
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86/fldcw_check.stderr.diff
=================================================
--- fldcw_check.stderr.exp 2011-03-22 21:40:14.939207290 -0500
+++ fldcw_check.stderr.out 2011-03-22 21:50:08.794297632 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 10000)
-# Total instructions: 9261
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 2061
=================================================
./valgrind-new/exp-bbv/tests/x86/million.stderr.diff
=================================================
--- million.stderr.exp 2011-03-22 21:40:14.938207259 -0500
+++ million.stderr.out 2011-03-22 21:50:08.816298040 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 10 (Interval Size 100000)
-# Total instructions: 1000000
-# Total reps: 0
-# Unique reps: 0
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-bbv/tests/x86/rep_prefix.stderr.diff
=================================================
--- rep_prefix.stderr.exp 2011-03-22 21:40:14.938207259 -0500
+++ rep_prefix.stderr.out 2011-03-22 21:50:08.841298503 -0500
@@ -1,6 +0,0 @@
-# Thread 1
-# Total intervals: 0 (Interval Size 100000)
-# Total instructions: 124
-# Total reps: 229402
-# Unique reps: 26
-# Total fldcw instructions: 0
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2011-03-22 21:40:13.113172844 -0500
+++ bad_percentify.stderr.out 2011-03-22 21:49:41.878798024 -0500
@@ -1,32 +1,29 @@
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:88)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:93)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
+ at 0x........: ...
by 0x........: ...
by 0x........: VG_print_translation_stats (bad_percentify.c:98)
by 0x........: main (bad_percentify.c:107)
Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
+ Expected: stack array "buf" in frame 2 back from here
Actual: unknown
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2011-03-22 21:40:11.891149709 -0500
+++ tc06_two_races_xml.stderr.out 2011-03-22 21:47:15.091071953 -0500
@@ -44,7 +44,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
+ <fn>do_clone.clone.0</fn>
</frame>
<frame>
<ip>0x........</ip>
@@ -122,11 +122,6 @@
<obj>...</obj>
<fn>start_thread</fn>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
- </frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
<xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>...</line> </xauxwhat>
@@ -176,11 +171,6 @@
<obj>...</obj>
<fn>start_thread</fn>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
- </frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
<xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>...</line> </xauxwhat>
@@ -230,11 +220,6 @@
<obj>...</obj>
<fn>start_thread</fn>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
- </frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
<xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>...</line> </xauxwhat>
@@ -284,11 +269,6 @@
<obj>...</obj>
<fn>start_thread</fn>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>clone</fn>
- </frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
<xauxwhat><text>declared at tc06_two_races.c:9</text> <file>tc06_two_races.c</file> <line>...</line> </xauxwhat>
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2011-03-22 21:40:18.524275225 -0500
+++ stack_switch.stderr.out 2011-03-22 21:44:22.020854675 -0500
@@ -0,0 +1,3 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
+
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2011-03-22 21:40:19.459292920 -0500
+++ origin5-bz2.stderr.out 2011-03-22 21:44:42.173229472 -0500
@@ -72,17 +72,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -128,6 +117,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2011-03-22 21:40:19.414292067 -0500
+++ origin5-bz2.stderr.out 2011-03-22 21:44:42.173229472 -0500
@@ -117,6 +117,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2011-03-22 21:40:19.471293146 -0500
+++ origin5-bz2.stderr.out 2011-03-22 21:44:42.173229472 -0500
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,8 +27,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -37,8 +38,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -47,8 +49,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -57,8 +60,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -67,8 +71,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -77,8 +82,9 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+Use of uninitialised value of size 8
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -87,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2011-03-22 21:40:19.412292029 -0500
+++ origin5-bz2.stderr.out 2011-03-22 21:44:42.173229472 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,7 +9,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -17,7 +17,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -25,7 +25,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -36,7 +36,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -47,7 +47,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -58,7 +58,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -69,7 +69,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -80,7 +80,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -91,7 +91,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -102,7 +102,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86-linux/bug133694.stderr.diff
=================================================
--- bug133694.stderr.exp 2011-03-22 21:40:16.136230041 -0500
+++ bug133694.stderr.out 2011-03-22 21:45:20.293938320 -0500
@@ -0,0 +1 @@
+valgrind: ./bug133694: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/bug133694.stdout.diff
=================================================
--- bug133694.stdout.exp 2011-03-22 21:40:16.129229916 -0500
+++ bug133694.stdout.out 2011-03-22 21:45:20.272937931 -0500
@@ -1 +0,0 @@
-success
=================================================
./valgrind-new/memcheck/tests/x86-linux/int3-x86.stderr.diff
=================================================
--- int3-x86.stderr.exp 2011-03-22 21:40:16.132229962 -0500
+++ int3-x86.stderr.out 2011-03-22 21:45:20.318938785 -0500
@@ -0,0 +1 @@
+valgrind: ./int3-x86: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/int3-x86.stdout.diff
=================================================
--- int3-x86.stdout.exp 2011-03-22 21:40:16.137230060 -0500
+++ int3-x86.stdout.out 2011-03-22 21:45:20.299938433 -0500
@@ -1,3 +0,0 @@
-main
-in int_handler, EIP is ...
-PASS
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar.stderr.diff
=================================================
--- scalar.stderr.exp 2011-03-22 21:40:16.135230019 -0500
+++ scalar.stderr.out 2011-03-22 21:45:20.342939233 -0500
@@ -1,3275 +1 @@
------------------------------------------------------
- 0:__NR_restart_syscall n/a
------------------------------------------------------
------------------------------------------------------
- 1: __NR_exit below
------------------------------------------------------
------------------------------------------------------
- 2: __NR_fork other
------------------------------------------------------
------------------------------------------------------
- 3: __NR_read 1+3s 1m
------------------------------------------------------
-Syscall param (syscallno) contains uninitialised byte(s)
- ...
-
-Syscall param read(fd) contains uninitialised byte(s)
- ...
-
-Syscall param read(buf) contains uninitialised byte(s)
- ...
-
-Syscall param read(count) contains uninitialised byte(s)
- ...
-
-Syscall param read(buf) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 4: __NR_write 3s 1m
------------------------------------------------------
-Syscall param write(fd) contains uninitialised byte(s)
- ...
-
-Syscall param write(buf) contains uninitialised byte(s)
- ...
-
-Syscall param write(count) contains uninitialised byte(s)
- ...
-
-Syscall param write(buf) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 5: __NR_open (2-args) 2s 1m
------------------------------------------------------
-Syscall param open(filename) contains uninitialised byte(s)
- ...
-
-Syscall param open(flags) contains uninitialised byte(s)
- ...
-
-Syscall param open(filename) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 5: __NR_open (3-args) 1s 0m
------------------------------------------------------
-Syscall param open(mode) contains uninitialised byte(s)
- ...
-
------------------------------------------------------
- 6: __NR_close 1s 0m
------------------------------------------------------
-Syscall param close(fd) contains uninitialised byte(s)
- ...
-
------------------------------------------------------
- 7: __NR_waitpid 3s 1m
------------------------------------------------------
-Syscall param waitpid(pid) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(status) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(options) contains uninitialised byte(s)
- ...
-
-Syscall param waitpid(status) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
------------------------------------------------------
- 8: __NR_creat 2s 1m
------------------------------------------------------
-Syscall param creat(pathname) contains uninitialised byte(s)
- ...
-
-Syscall param creat(mode) contains uninitialised byte(s)
- ...
-
-Syscall param creat(pathname) points to unaddressable byte(s)
- ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_exit_group.stderr.diff
=================================================
--- scalar_exit_group.stderr.exp 2011-03-22 21:40:16.136230041 -0500
+++ scalar_exit_group.stderr.out 2011-03-22 21:45:20.369939733 -0500
@@ -1,6 +1 @@
------------------------------------------------------
-252: __NR_exit_group 1s 0m
------------------------------------------------------
-Syscall param exit_group(status) contains uninitialised byte(s)
- ...
-
+valgrind: ./scalar_exit_group: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_fork.stderr.diff
=================================================
--- scalar_fork.stderr.exp 2011-03-22 21:40:16.129229916 -0500
+++ scalar_fork.stderr.out 2011-03-22 21:45:20.393940181 -0500
@@ -1,3 +1 @@
------------------------------------------------------
- 2: __NR_fork 0e
------------------------------------------------------
+valgrind: ./scalar_fork: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_supp.stderr.diff
=================================================
--- scalar_supp.stderr.exp 2011-03-22 21:40:16.137230060 -0500
+++ scalar_supp.stderr.out 2011-03-22 21:45:20.417940627 -0500
@@ -1,9 +1 @@
-Syscall param (syscallno) contains uninitialised byte(s)
- ...
-
-Syscall param write(fd) contains uninitialised byte(s)
- ...
-
-Syscall param write(count) contains uninitialised byte(s)
- ...
-
+valgrind: ./scalar_supp: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86-linux/scalar_vfork.stderr.diff
=================================================
--- scalar_vfork.stderr.exp 2011-03-22 21:40:16.137230060 -0500
+++ scalar_vfork.stderr.out 2011-03-22 21:45:20.441941073 -0500
@@ -1,3 +1 @@
------------------------------------------------------
-190: __NR_vfork 0e
------------------------------------------------------
+valgrind: ./scalar_vfork: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/bug152022.stderr.diff
=================================================
--- bug152022.stderr.exp 2011-03-22 21:40:19.352290895 -0500
+++ bug152022.stderr.out 2011-03-22 21:45:19.787928914 -0500
@@ -0,0 +1 @@
+valgrind: ./bug152022: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/espindola2.stderr.diff
=================================================
--- espindola2.stderr.exp 2011-03-22 21:40:19.358291009 -0500
+++ espindola2.stderr.out 2011-03-22 21:45:19.813929395 -0500
@@ -0,0 +1 @@
+valgrind: ./espindola2: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fpeflags.stderr.diff
=================================================
--- fpeflags.stderr.exp 2011-03-22 21:40:19.360291045 -0500
+++ fpeflags.stderr.out 2011-03-22 21:45:19.837929843 -0500
@@ -0,0 +1 @@
+valgrind: ./fpeflags: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fprem.stderr.diff
=================================================
--- fprem.stderr.exp 2011-03-22 21:40:19.353290914 -0500
+++ fprem.stderr.out 2011-03-22 21:45:19.864930344 -0500
@@ -0,0 +1 @@
+valgrind: ./fprem: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fprem.stdout.diff
=================================================
--- fprem.stdout.exp 2011-03-22 21:40:19.352290895 -0500
+++ fprem.stdout.out 2011-03-22 21:45:19.843929954 -0500
@@ -1,3 +0,0 @@
-fprem 0.693147
-fprem1 0.693147
-fsincos 0.130278
=================================================
./valgrind-new/memcheck/tests/x86/fxsave.stderr.diff
=================================================
--- fxsave.stderr.exp 2011-03-22 21:40:19.361291064 -0500
+++ fxsave.stderr.out 2011-03-22 21:45:19.889930810 -0500
@@ -0,0 +1 @@
+valgrind: ./fxsave: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/fxsave.stdout.diff
=================================================
--- fxsave.stdout.exp 2011-03-22 21:40:19.359291027 -0500
+++ fxsave.stdout.out 2011-03-22 21:45:19.870930456 -0500
@@ -1,104 +0,0 @@
-Re-run with any arg to suppress least-significant
- 16 bits of FP numbers
-
-BEFORE
- 0 7f 03 00 10 fc 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
- 48 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
- 64 xx xx cf fb 84 9a 20 9a fd 3f 00 00 00 00 00 00
- 80 xx xx cf d1 f7 17 72 b1 fe 3f 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
-112 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 78 56 34 12 44 33 22 11 88 77 66 55 21 43 65 87
-176 01 ef cd ab dd cc bb aa 11 00 ff ee ba dc fe 10
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 79 b9 f9 b9 99 ff 99 bb 99 77 99 bb 9b 9f 9b 97
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-400 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-416 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-432 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-448 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-464 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-480 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-496 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-
-ZEROED
- 0 7f 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 48 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 64 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 80 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-112 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-176 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-400 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-416 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-432 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-448 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-464 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-480 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-496 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-
-RESTORED
- 0 7f 03 00 10 fc 00 00 00 00 00 00 00 00 00 00 00
- 16 00 00 00 00 00 00 00 00 80 1f 00 00 ff ff ff ff
- 32 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
- 48 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
- 64 xx xx cf fb 84 9a 20 9a fd 3f 00 00 00 00 00 00
- 80 xx xx cf d1 f7 17 72 b1 fe 3f 00 00 00 00 00 00
- 96 xx xx 00 00 00 00 00 80 ff 3f 00 00 00 00 00 00
-112 xx xx 68 21 a2 da 0f c9 00 40 00 00 00 00 00 00
-128 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-144 xx xx 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-160 78 56 34 12 44 33 22 11 88 77 66 55 21 43 65 87
-176 01 ef cd ab dd cc bb aa 11 00 ff ee ba dc fe 10
-192 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-208 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-224 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-256 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-272 79 b9 f9 b9 99 ff 99 bb 99 77 99 bb 9b 9f 9b 97
-288 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-304 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-320 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-336 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-352 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-368 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
-384 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_basic.stderr.diff
=================================================
--- insn_basic.stderr.exp 2011-03-22 21:40:30.824507952 -0500
+++ insn_basic.stderr.out 2011-03-22 21:45:19.918931349 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_basic: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_basic.stdout.diff
=================================================
--- insn_basic.stdout.exp 2011-03-22 21:40:30.838508218 -0500
+++ insn_basic.stdout.out 2011-03-22 21:45:19.895930920 -0500
@@ -1,1056 +0,0 @@
-adcb_1 ... ok
-adcb_2 ... ok
-adcb_3 ... ok
-adcb_4 ... ok
-adcb_5 ... ok
-adcb_6 ... ok
-adcb_7 ... ok
-adcb_8 ... ok
-adcb_9 ... ok
-adcb_10 ... ok
-adcb_11 ... ok
-adcb_12 ... ok
-adcw_1 ... ok
-adcw_2 ... ok
-adcw_3 ... ok
-adcw_4 ... ok
-adcw_5 ... ok
-adcw_6 ... ok
-adcw_7 ... ok
-adcw_8 ... ok
-adcw_9 ... ok
-adcw_10 ... ok
-adcw_11 ... ok
-adcw_12 ... ok
-adcw_13 ... ok
-adcw_14 ... ok
-adcl_1 ... ok
-adcl_2 ... ok
-adcl_3 ... ok
-adcl_4 ... ok
-adcl_5 ... ok
-adcl_6 ... ok
-adcl_7 ... ok
-adcl_8 ... ok
-adcl_9 ... ok
-adcl_10 ... ok
-adcl_11 ... ok
-adcl_12 ... ok
-adcl_13 ... ok
-adcl_14 ... ok
-addb_1 ... ok
-addb_2 ... ok
-addb_3 ... ok
-addb_4 ... ok
-addb_5 ... ok
-addb_6 ... ok
-addw_1 ... ok
-addw_2 ... ok
-addw_3 ... ok
-addw_4 ... ok
-addw_5 ... ok
-addw_6 ... ok
-addw_7 ... ok
-addl_1 ... ok
-addl_2 ... ok
-addl_3 ... ok
-addl_4 ... ok
-addl_5 ... ok
-addl_6 ... ok
-addl_7 ... ok
-andb_1 ... ok
-andb_2 ... ok
-andb_3 ... ok
-andb_4 ... ok
-andb_5 ... ok
-andb_6 ... ok
-andw_1 ... ok
-andw_2 ... ok
-andw_3 ... ok
-andw_4 ... ok
-andw_5 ... ok
-andw_6 ... ok
-andw_7 ... ok
-andl_1 ... ok
-andl_2 ... ok
-andl_3 ... ok
-andl_4 ... ok
-andl_5 ... ok
-andl_6 ... ok
-andl_7 ... ok
-bsfw_1 ... ok
-bsfw_2 ... ok
-bsfl_1 ... ok
-bsfl_2 ... ok
-bsrw_1 ... ok
-bsrw_2 ... ok
-bsrl_1 ... ok
-bsrl_2 ... ok
-bswapl_1 ... ok
-btw_1 ... ok
-btw_2 ... ok
-btw_3 ... ok
-btw_4 ... ok
-btw_5 ... ok
-btw_6 ... ok
-btw_7 ... ok
-btw_8 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_cmov.stderr.diff
=================================================
--- insn_cmov.stderr.exp 2011-03-22 21:40:30.823507933 -0500
+++ insn_cmov.stderr.out 2011-03-22 21:45:19.943931812 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_cmov: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_cmov.stdout.diff
=================================================
--- insn_cmov.stdout.exp 2011-03-22 21:40:30.836508180 -0500
+++ insn_cmov.stdout.out 2011-03-22 21:45:19.924931460 -0500
@@ -1,384 +0,0 @@
-cmova_1 ... ok
-cmova_2 ... ok
-cmova_3 ... ok
-cmova_4 ... ok
-cmova_5 ... ok
-cmova_6 ... ok
-cmova_7 ... ok
-cmova_8 ... ok
-cmovae_1 ... ok
-cmovae_2 ... ok
-cmovae_3 ... ok
-cmovae_4 ... ok
-cmovb_1 ... ok
-cmovb_2 ... ok
-cmovb_3 ... ok
-cmovb_4 ... ok
-cmovbe_1 ... ok
-cmovbe_2 ... ok
-cmovbe_3 ... ok
-cmovbe_4 ... ok
-cmovbe_5 ... ok
-cmovbe_6 ... ok
-cmovbe_7 ... ok
-cmovbe_8 ... ok
-cmovc_1 ... ok
-cmovc_2 ... ok
-cmovc_3 ... ok
-cmovc_4 ... ok
-cmove_1 ... ok
-cmove_2 ... ok
-cmove_3 ... ok
-cmove_4 ... ok
-cmovg_1 ... ok
-cmovg_2 ... ok
-cmovg_3 ... ok
-cmovg_4 ... ok
-cmovg_5 ... ok
-cmovg_6 ... ok
-cmovg_7 ... ok
-cmovg_8 ... ok
-cmovg_9 ... ok
-cmovg_10 ... ok
-cmovg_11 ... ok
-cmovg_12 ... ok
-cmovg_13 ... ok
-cmovg_14 ... ok
-cmovg_15 ... ok
-cmovg_16 ... ok
-cmovge_1 ... ok
-cmovge_2 ... ok
-cmovge_3 ... ok
-cmovge_4 ... ok
-cmovge_5 ... ok
-cmovge_6 ... ok
-cmovge_7 ... ok
-cmovge_8 ... ok
-cmovl_1 ... ok
-cmovl_2 ... ok
-cmovl_3 ... ok
-cmovl_4 ... ok
-cmovl_5 ... ok
-cmovl_6 ... ok
-cmovl_7 ... ok
-cmovl_8 ... ok
-cmovle_1 ... ok
-cmovle_2 ... ok
-cmovle_3 ... ok
-cmovle_4 ... ok
-cmovle_5 ... ok
-cmovle_6 ... ok
-cmovle_7 ... ok
-cmovle_8 ... ok
-cmovle_9 ... ok
-cmovle_10 ... ok
-cmovle_11 ... ok
-cmovle_12 ... ok
-cmovle_13 ... ok
-cmovle_14 ... ok
-cmovle_15 ... ok
-cmovle_16 ... ok
-cmovna_1 ... ok
-cmovna_2 ... ok
-cmovna_3 ... ok
-cmovna_4 ... ok
-cmovna_5 ... ok
-cmovna_6 ... ok
-cmovna_7 ... ok
-cmovna_8 ... ok
-cmovnae_1 ... ok
-cmovnae_2 ... ok
-cmovnae_3 ... ok
-cmovnae_4 ... ok
-cmovnb_1 ... ok
-cmovnb_2 ... ok
-cmovnb_3 ... ok
-cmovnb_4 ... ok
-cmovnbe_1 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_fpu.stderr.diff
=================================================
--- insn_fpu.stderr.exp 2011-03-22 21:40:30.829508047 -0500
+++ insn_fpu.stderr.out 2011-03-22 21:45:19.968932279 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_fpu: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_fpu.stdout.diff
=================================================
--- insn_fpu.stdout.exp 2011-03-22 21:40:30.813507737 -0500
+++ insn_fpu.stdout.out 2011-03-22 21:45:19.950931944 -0500
@@ -1,452 +0,0 @@
-fabs_1 ... ok
-fabs_2 ... ok
-fabs_3 ... ok
-fabs_4 ... ok
-fadds_1 ... ok
-fadds_2 ... ok
-fadds_3 ... ok
-fadds_4 ... ok
-faddl_1 ... ok
-faddl_2 ... ok
-faddl_3 ... ok
-faddl_4 ... ok
-fadd_1 ... ok
-fadd_2 ... ok
-fadd_3 ... ok
-fadd_4 ... ok
-fadd_5 ... ok
-fadd_6 ... ok
-fadd_7 ... ok
-fadd_8 ... ok
-fadd_9 ... ok
-fadd_10 ... ok
-fadd_11 ... ok
-fadd_12 ... ok
-fadd_13 ... ok
-fadd_14 ... ok
-fadd_15 ... ok
-fadd_16 ... ok
-faddp_1 ... ok
-faddp_2 ... ok
-faddp_3 ... ok
-faddp_4 ... ok
-faddp_5 ... ok
-faddp_6 ... ok
-faddp_7 ... ok
-faddp_8 ... ok
-faddp_9 ... ok
-faddp_10 ... ok
-faddp_11 ... ok
-faddp_12 ... ok
-faddp_13 ... ok
-faddp_14 ... ok
-faddp_15 ... ok
-faddp_16 ... ok
-fiadds_1 ... ok
-fiadds_2 ... ok
-fiadds_3 ... ok
-fiadds_4 ... ok
-fiadds_5 ... ok
-fiadds_6 ... ok
-fiadds_7 ... ok
-fiadds_8 ... ok
-fiaddl_1 ... ok
-fiaddl_2 ... ok
-fiaddl_3 ... ok
-fiaddl_4 ... ok
-fiaddl_5 ... ok
-fiaddl_6 ... ok
-fiaddl_7 ... ok
-fiaddl_8 ... ok
-fcomi_1 ... ok
-fcomi_2 ... ok
-fcomi_3 ... ok
-fcomi_4 ... ok
-fcomi_5 ... ok
-fcomi_6 ... ok
-fcomip_1 ... ok
-fcomip_2 ... ok
-fcomip_3 ... ok
-fcomip_4 ... ok
-fcomip_5 ... ok
-fcomip_6 ... ok
-fucomi_1 ... ok
-fucomi_2 ... ok
-fucomi_3 ... ok
-fucomi_4 ... ok
-fucomi_5 ... ok
-fucomi_6 ... ok
-fucomip_1 ... ok
-fucomip_2 ... ok
-fucomip_3 ... ok
-fucomip_4 ... ok
-fucomip_5 ... ok
-fucomip_6 ... ok
-fchs_1 ... ok
-fchs_2 ... ok
-fchs_3 ... ok
-fchs_4 ... ok
-fdivs_1 ... ok
-fdivs_2 ... ok
-fdivs_3 ... ok
-fdivs_4 ... ok
-fdivl_1 ... ok
-fdivl_2 ... ok
-fdivl_3 ... ok
-fdivl_4 ... ok
-fdiv_1 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_mmx.stderr.diff
=================================================
--- insn_mmx.stderr.exp 2011-03-22 21:40:30.830508066 -0500
+++ insn_mmx.stderr.out 2011-03-22 21:45:19.994932761 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_mmx: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_mmx.stdout.diff
=================================================
--- insn_mmx.stdout.exp 2011-03-22 21:40:30.815507776 -0500
+++ insn_mmx.stdout.out 2011-03-22 21:45:19.975932409 -0500
@@ -1,103 +0,0 @@
-movd_1 ... ok
-movd_2 ... ok
-movd_3 ... ok
-movd_4 ... ok
-movq_1 ... ok
-movq_2 ... ok
-movq_3 ... ok
-packssdw_1 ... ok
-packssdw_2 ... ok
-packsswb_1 ... ok
-packsswb_2 ... ok
-packuswb_1 ... ok
-packuswb_2 ... ok
-paddb_1 ... ok
-paddb_2 ... ok
-paddd_1 ... ok
-paddd_2 ... ok
-paddsb_1 ... ok
-paddsb_2 ... ok
-paddsw_1 ... ok
-paddsw_2 ... ok
-paddusb_1 ... ok
-paddusb_2 ... ok
-paddusw_1 ... ok
-paddusw_2 ... ok
-paddw_1 ... ok
-paddw_2 ... ok
-pand_1 ... ok
-pand_2 ... ok
-pandn_1 ... ok
-pandn_2 ... ok
-pcmpeqb_1 ... ok
-pcmpeqb_2 ... ok
-pcmpeqd_1 ... ok
-pcmpeqd_2 ... ok
-pcmpeqw_1 ... ok
-pcmpeqw_2 ... ok
-pcmpgtb_1 ... ok
-pcmpgtb_2 ... ok
-pcmpgtd_1 ... ok
-pcmpgtd_2 ... ok
-pcmpgtw_1 ... ok
-pcmpgtw_2 ... ok
-pmaddwd_1 ... ok
-pmaddwd_2 ... ok
-pmulhw_1 ... ok
-pmulhw_2 ... ok
-pmullw_1 ... ok
-pmullw_2 ... ok
-por_1 ... ok
-por_2 ... ok
-pslld_1 ... ok
-pslld_2 ... ok
-pslld_3 ... ok
-psllq_1 ... ok
-psllq_2 ... ok
-psllq_3 ... ok
-psllw_1 ... ok
-psllw_2 ... ok
-psllw_3 ... ok
-psrad_1 ... ok
-psrad_2 ... ok
-psrad_3 ... ok
-psraw_1 ... ok
-psraw_2 ... ok
-psraw_3 ... ok
-psrld_1 ... ok
-psrld_2 ... ok
-psrld_3 ... ok
-psrlq_1 ... ok
-psrlq_2 ... ok
-psrlq_3 ... ok
-psrlw_1 ... ok
-psrlw_2 ... ok
-psrlw_3 ... ok
-psubb_1 ... ok
-psubb_2 ... ok
-psubd_1 ... ok
-psubd_2 ... ok
-psubsb_1 ... ok
-psubsb_2 ... ok
-psubsw_1 ... ok
-psubsw_2 ... ok
-psubusb_1 ... ok
-psubusb_2 ... ok
-psubusw_1 ... ok
-psubusw_2 ... ok
-psubw_1 ... ok
-psubw_2 ... ok
-punpckhbw_1 ... ok
-punpckhbw_2 ... ok
-punpckhdq_1 ... ok
-punpckhdq_2 ... ok
-punpckhwd_1 ... ok
-punpckhwd_2 ... ok
-punpcklbw_1 ... ok
-punpcklbw_2 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse.stderr.diff
=================================================
--- insn_sse.stderr.exp 2011-03-22 21:40:30.818507842 -0500
+++ insn_sse.stderr.out 2011-03-22 21:45:20.020933245 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_sse: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse.stdout.diff
=================================================
--- insn_sse.stdout.exp 2011-03-22 21:40:30.831508085 -0500
+++ insn_sse.stdout.out 2011-03-22 21:45:20.000932874 -0500
@@ -1,154 +0,0 @@
-addps_1 ... ok
-addps_2 ... ok
-addss_1 ... ok
-addss_2 ... ok
-andnps_1 ... ok
-andnps_2 ... ok
-andps_1 ... ok
-andps_2 ... ok
-cmpeqps_1 ... ok
-cmpeqps_2 ... ok
-cmpeqss_1 ... ok
-cmpeqss_2 ... ok
-cmpleps_1 ... ok
-cmpleps_2 ... ok
-cmpless_1 ... ok
-cmpless_2 ... ok
-cmpltps_1 ... ok
-cmpltps_2 ... ok
-cmpltss_1 ... ok
-cmpltss_2 ... ok
-cmpunordps_1 ... ok
-cmpunordps_2 ... ok
-cmpunordss_1 ... ok
-cmpunordss_2 ... ok
-cmpneqps_1 ... ok
-cmpneqps_2 ... ok
-cmpneqss_1 ... ok
-cmpneqss_2 ... ok
-cmpnleps_1 ... ok
-cmpnleps_2 ... ok
-cmpnless_1 ... ok
-cmpnless_2 ... ok
-cmpnltps_1 ... ok
-cmpnltps_2 ... ok
-cmpnltss_1 ... ok
-cmpnltss_2 ... ok
-cmpordps_1 ... ok
-cmpordps_2 ... ok
-cmpordss_1 ... ok
-cmpordss_2 ... ok
-comiss_1 ... ok
-comiss_2 ... ok
-comiss_3 ... ok
-comiss_4 ... ok
-comiss_5 ... ok
-comiss_6 ... ok
-cvtpi2ps_1 ... ok
-cvtpi2ps_2 ... ok
-cvtps2pi_1 ... ok
-cvtps2pi_2 ... ok
-cvtsi2ss_1 ... ok
-cvtsi2ss_2 ... ok
-cvtss2si_1 ... ok
-cvtss2si_2 ... ok
-cvttps2pi_1 ... ok
-cvttps2pi_2 ... ok
-cvttss2si_1 ... ok
-cvttss2si_2 ... ok
-divps_1 ... ok
-divps_2 ... ok
-divss_1 ... ok
-divss_2 ... ok
-maxps_1 ... ok
-maxps_2 ... ok
-maxss_1 ... ok
-maxss_2 ... ok
-minps_1 ... ok
-minps_2 ... ok
-minss_1 ... ok
-minss_2 ... ok
-movaps_1 ... ok
-movaps_2 ... ok
-movhlps_1 ... ok
-movhps_1 ... ok
-movhps_2 ... ok
-movlhps_1 ... ok
-movlps_1 ... ok
-movlps_2 ... ok
-movmskps_1 ... ok
-movntps_1 ... ok
-movntq_1 ... ok
-movss_1 ... ok
-movss_2 ... ok
-movss_3 ... ok
-movups_1 ... ok
-movups_2 ... ok
-mulps_1 ... ok
-mulps_2 ... ok
-mulss_1 ... ok
-mulss_2 ... ok
-orps_1 ... ok
-orps_2 ... ok
-pavgb_1 ... ok
-pavgb_2 ... ok
-pavgw_1 ... ok
-pavgw_2 ... ok
-pextrw_1 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse2.stderr.diff
=================================================
--- insn_sse2.stderr.exp 2011-03-22 21:40:30.823507933 -0500
+++ insn_sse2.stderr.out 2011-03-22 21:45:20.046933728 -0500
@@ -0,0 +1 @@
+valgrind: ./../../../none/tests/x86/insn_sse2: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/insn_sse2.stdout.diff
=================================================
--- insn_sse2.stdout.exp 2011-03-22 21:40:30.837508199 -0500
+++ insn_sse2.stdout.out 2011-03-22 21:45:20.026933357 -0500
@@ -1,343 +0,0 @@
-addpd_1 ... ok
-addpd_2 ... ok
-addsd_1 ... ok
-addsd_2 ... ok
-andpd_1 ... ok
-andpd_2 ... ok
-andnpd_1 ... ok
-andnpd_2 ... ok
-cmpeqpd_1 ... ok
-cmpeqpd_2 ... ok
-cmpltpd_1 ... ok
-cmpltpd_2 ... ok
-cmplepd_1 ... ok
-cmplepd_2 ... ok
-cmpunordpd_1 ... ok
-cmpunordpd_2 ... ok
-cmpneqpd_1 ... ok
-cmpneqpd_2 ... ok
-cmpnltpd_1 ... ok
-cmpnltpd_2 ... ok
-cmpnlepd_1 ... ok
-cmpnlepd_2 ... ok
-cmpordpd_1 ... ok
-cmpordpd_2 ... ok
-cmpeqsd_1 ... ok
-cmpeqsd_2 ... ok
-cmpltsd_1 ... ok
-cmpltsd_2 ... ok
-cmplesd_1 ... ok
-cmplesd_2 ... ok
-cmpunordsd_1 ... ok
-cmpunordsd_2 ... ok
-cmpneqsd_1 ... ok
-cmpneqsd_2 ... ok
-cmpnltsd_1 ... ok
-cmpnltsd_2 ... ok
-cmpnlesd_1 ... ok
-cmpnlesd_2 ... ok
-cmpordsd_1 ... ok
-cmpordsd_2 ... ok
-comisd_1 ... ok
-comisd_2 ... ok
-comisd_3 ... ok
-comisd_4 ... ok
-comisd_5 ... ok
-comisd_6 ... ok
-cvtdq2pd_1 ... ok
-cvtdq2pd_2 ... ok
-cvtdq2ps_1 ... ok
-cvtdq2ps_2 ... ok
-cvtpd2dq_1 ... ok
-cvtpd2dq_2 ... ok
-cvtpd2pi_1 ... ok
-cvtpd2pi_2 ... ok
-cvtpd2ps_1 ... ok
-cvtpd2ps_2 ... ok
-cvtpi2pd_1 ... ok
-cvtpi2pd_2 ... ok
-cvtps2dq_1 ... ok
-cvtps2dq_2 ... ok
-cvtps2pd_1 ... ok
-cvtps2pd_2 ... ok
-cvtsd2si_1 ... ok
-cvtsd2si_2 ... ok
-cvtsd2ss_1 ... ok
-cvtsd2ss_2 ... ok
-cvtsi2sd_1 ... ok
-cvtsi2sd_2 ... ok
-cvtss2sd_1 ... ok
-cvtss2sd_2 ... ok
-cvttpd2pi_1 ... ok
-cvttpd2pi_2 ... ok
-cvttpd2dq_1 ... ok
-cvttpd2dq_2 ... ok
-cvttps2dq_1 ... ok
-cvttps2dq_2 ... ok
-cvttsd2si_1 ... ok
-cvttsd2si_2 ... ok
-divpd_1 ... ok
-divpd_2 ... ok
-divsd_1 ... ok
-divsd_2 ... ok
-lfence_1 ... ok
-maxpd_1 ... ok
-maxpd_2 ... ok
-maxsd_1 ... ok
-maxsd_2 ... ok
-mfence_1 ... ok
-minpd_1 ... ok
-minpd_2 ... ok
-minsd_1 ... ok
-minsd_2 ... ok
-movapd_1 ... ok
-movapd_2 ... ok
-movd_1 ... ok
-movd_2 ... ok
-movd_3 ... ok
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/x86/more_x86_fp.stderr.diff
=================================================
--- more_x86_fp.stderr.exp 2011-03-22 21:40:19.355290952 -0500
+++ more_x86_fp.stderr.out 2011-03-22 21:45:20.071934192 -0500
@@ -0,0 +1 @@
+valgrind: ./more_x86_fp: No such file or directory
=================================================
./valgrind-new/memcheck/tests/x86/more_x86_fp.stdout.diff
=================================================
--- more_x86_fp.stdout.exp 2011-03-22 21:40:19.354290933 -0500
+++ more_x86_fp.stdout.out 2011-03-22 21:45:20.051933822 -0500
@@ -1,175 +0,0 @@
-a=2.000000 b=3.000000 a+b=5.000000
-a=2.000000 b=3.000000 a-b=-1.000000
-a=2.000000 b=3.000000 a*b=6.000000
-a=2.000000 b=3.000000 a/b=0.666667
-a=2.000000 b=3.000000 fmod(a, b)=2.000000
-a=2.000000 sqrt(a)=1.414214
-a=2.000000 sin(a)=0.909297
-a=2.000000 cos(a)=-0.416147
-a=2.000000 tan(a)=-2.185040
-a=2.000000 log(a)=0.693147
-a=2.000000 exp(a)=7.389056
-a=2.000000 b=3.000000 atan2(a, b)=0.588003
-a=2.000000 asin(sin(a))=1.141593
-a=2.000000 acos(cos(a))=2.000000
-a=2.000000 atan(tan(a))=-1.141593
-a=1.400000 b=-5.000000 a+b=-3.600000
-a=1.400000 b=-5.000000 a-b=6.400000
-a=1.400000 b=-5.000000 a*b=-7.000000
-a=1.400000 b=-5.000000 a/b=-0.280000
-a=1.400000 b=-5.000000 fmod(a, b)=1.400000
-a=1.400000 sqrt(a)=1.183216
-a=1.400000 sin(a)=0.985450
-a=1.400000 cos(a)=0.169967
-a=1.400000 tan(a)=5.797884
-a=1.400000 log(a)=0.336472
-a=1.400000 exp(a)=4.055200
-a=1.400000 b=-5.000000 atan2(a, b)=2.868584
-a=1.400000 asin(sin(a))=1.400000
-a=1.400000 acos(cos(a))=1.400000
-a=1.400000 atan(tan(a))=1.400000
-(2.000000<-1.000000)=0
-(2.000000<=-1.000000)=0
-(2.000000==-1.000000)=0
-(2.000000>-1.000000)=1
-(2.000000<=-1.000000)=1
-fcomi(2.000000 -1.000000)=00000000
-(2.000000<2.00...
[truncated message content] |
|
From: Christian B. <bor...@de...> - 2011-03-22 21:35:11
|
Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z10 (s390x) ) Started at 2011-03-22 22:10:01 CET Ended at 2011-03-22 22:34:56 CET 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 == 457 tests, 6 stderr failures, 0 stdout failures, 0 post failures == none/tests/faultstatus (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc23_bogus_condwait (stderr) |