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
(15) |
2
(13) |
3
(16) |
4
(12) |
5
(17) |
|
6
(16) |
7
(13) |
8
(15) |
9
(15) |
10
(18) |
11
(5) |
12
(17) |
|
13
(13) |
14
(13) |
15
(5) |
16
(13) |
17
(2) |
18
(19) |
19
(12) |
|
20
|
21
(22) |
22
(23) |
23
(23) |
24
(23) |
25
(20) |
26
(19) |
|
27
(33) |
28
(20) |
29
(15) |
30
(21) |
31
(20) |
|
|
|
From: <sv...@va...> - 2012-05-24 21:33:26
|
philippe 2012-05-24 22:33:17 +0100 (Thu, 24 May 2012)
New Revision: 12581
Log:
gdbserver: introduce support to show the AVX registers.
This implies to change the interface between the
arch independent gdbserver files and the arch dependent files
as AVX implies a choice of xml files at run time.
In valgrind-low-amd64.c, the xml files and the nr of registers
are different depending on AVX support or not.
Other platforms still have a fully static nr of registers.
Added files:
trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml
trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml
trunk/coregrind/m_gdbserver/64bit-avx.xml
trunk/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml
trunk/coregrind/m_gdbserver/amd64-avx-coresse.xml
trunk/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml
trunk/coregrind/m_gdbserver/amd64-avx-linux.xml
Modified files:
trunk/coregrind/Makefile.am
trunk/coregrind/m_gdbserver/server.c
trunk/coregrind/m_gdbserver/target.c
trunk/coregrind/m_gdbserver/target.h
trunk/coregrind/m_gdbserver/valgrind-low-amd64.c
trunk/coregrind/m_gdbserver/valgrind-low-arm.c
trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c
trunk/coregrind/m_gdbserver/valgrind-low-ppc64.c
trunk/coregrind/m_gdbserver/valgrind-low-s390x.c
trunk/coregrind/m_gdbserver/valgrind-low-x86.c
trunk/coregrind/m_gdbserver/valgrind_low.h
trunk/docs/xml/manual-core-adv.xml
Modified: trunk/docs/xml/manual-core-adv.xml (+19 -0)
===================================================================
--- trunk/docs/xml/manual-core-adv.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/docs/xml/manual-core-adv.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -700,6 +700,25 @@
values instead of float values, as it is expected that these
shadow values are mostly used for memcheck validity bits. </para>
+<para>Intel/amd64 AVX registers <computeroutput>ymm0</computeroutput>
+to <computeroutput>ymm15</computeroutput> have also their shadow
+registers. However, GDB presents the shadow values using two
+"half" registers. For example, the half shadow registers for
+<computeroutput>ymm9</computeroutput> are
+<computeroutput>xmm9s1</computeroutput> (lower half for set 1),
+<computeroutput>ymm9hs1</computeroutput> (upper half for set 1),
+<computeroutput>xmm9s2</computeroutput> (lower half for set 2),
+<computeroutput>ymm9hs2</computeroutput> (upper half for set 2).
+Note the inconsistent notation for the names of the half registers:
+the lower part starts with an <computeroutput>x</computeroutput>,
+the upper part starts with an <computeroutput>y</computeroutput>
+and has an <computeroutput>h</computeroutput> before the shadow postfix.
+</para>
+<para>The special presentation of the AVX shadow registers is due
+to the fact that GDB retrieves independently the lower and upper half
+of the <computeroutput>ymm</computeroutput> registers. GDB however
+does not know that the shadow half registers have to be shown combined.
+</para>
</sect2>
Added: trunk/coregrind/m_gdbserver/amd64-avx-coresse.xml (+16 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/amd64-avx-coresse.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/amd64-avx-coresse.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- AMD64 - core and sse and avx. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>i386:x86-64</architecture>
+ <xi:include href="64bit-core.xml"/>
+ <xi:include href="64bit-sse.xml"/>
+ <xi:include href="64bit-avx.xml"/>
+</target>
Added: trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml (+26 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx.valgrind.s1">
+ <reg name="ymm0hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm1hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm2hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm3hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm4hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm5hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm6hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm7hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm8hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm9hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm10hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm11hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm12hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm13hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm14hs1" bitsize="128" type="uint128"/>
+ <reg name="ymm15hs1" bitsize="128" type="uint128"/>
+</feature>
Modified: trunk/coregrind/m_gdbserver/valgrind-low-amd64.c (+85 -13)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-amd64.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-amd64.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -27,7 +27,7 @@
#include "regcache.h"
#include "pub_core_aspacemgr.h"
-#include "pub_tool_machine.h"
+#include "pub_core_machine.h"
#include "pub_core_threadstate.h"
#include "pub_core_transtab.h"
#include "pub_core_gdbserver.h"
@@ -100,12 +100,30 @@
{ "xmm15", 4128, 128 },
{ "mxcsr", 4256, 32 },
#if defined(VGO_linux)
- { "orig_rax", 4288, 64 }
+ { "orig_rax", 4288, 64 },
#endif
+ { "ymm0h", 4352, 128 }, // The ymm?h registers only to be given to GDB
+ { "ymm1h", 4480, 128 }, // if Valgrind is running with AVX instructions.
+ { "ymm2h", 4608, 128 },
+ { "ymm3h", 4736, 128 },
+ { "ymm4h", 4864, 128 },
+ { "ymm5h", 4992, 128 },
+ { "ymm6h", 5120, 128 },
+ { "ymm7h", 5248, 128 },
+ { "ymm8h", 5376, 128 },
+ { "ymm9h", 5504, 128 },
+ { "ymm10h", 5632, 128 },
+ { "ymm11h", 5760, 128 },
+ { "ymm12h", 5888, 128 },
+ { "ymm13h", 6016, 128 },
+ { "ymm14h", 6144, 128 },
+ { "ymm15h", 6272, 128 }
};
static const char *expedite_regs[] = { "rbp", "rsp", "rip", 0 };
-#define num_regs (sizeof (regs) / sizeof (regs[0]))
+#define max_num_regs (sizeof (regs) / sizeof (regs[0]))
+static int dyn_num_regs; // if no AVX, we have to give less registers to gdb.
+
static
CORE_ADDR get_pc (void)
{
@@ -135,8 +153,8 @@
transfer_direction dir, int size, Bool *mod)
{
ThreadState* tst = VG_(get_ThreadState)(tid);
- int set = abs_regno / num_regs;
- int regno = abs_regno % num_regs;
+ int set = abs_regno / dyn_num_regs;
+ int regno = abs_regno % dyn_num_regs;
*mod = False;
VexGuestAMD64State* amd64 = (VexGuestAMD64State*) get_arch (set, tst);
@@ -269,29 +287,83 @@
}
break;
case 57: *mod = False; break; // GDBTD???? VEX equivalent { "orig_rax"},
+ case 58: VG_(transfer) (&amd64->guest_YMM0[4], buf, dir, size, mod); break;
+ case 59: VG_(transfer) (&amd64->guest_YMM1[4], buf, dir, size, mod); break;
+ case 60: VG_(transfer) (&amd64->guest_YMM2[4], buf, dir, size, mod); break;
+ case 61: VG_(transfer) (&amd64->guest_YMM3[4], buf, dir, size, mod); break;
+ case 62: VG_(transfer) (&amd64->guest_YMM4[4], buf, dir, size, mod); break;
+ case 63: VG_(transfer) (&amd64->guest_YMM5[4], buf, dir, size, mod); break;
+ case 64: VG_(transfer) (&amd64->guest_YMM6[4], buf, dir, size, mod); break;
+ case 65: VG_(transfer) (&amd64->guest_YMM7[4], buf, dir, size, mod); break;
+ case 66: VG_(transfer) (&amd64->guest_YMM8[4], buf, dir, size, mod); break;
+ case 67: VG_(transfer) (&amd64->guest_YMM9[4], buf, dir, size, mod); break;
+ case 68: VG_(transfer) (&amd64->guest_YMM10[4], buf, dir, size, mod); break;
+ case 69: VG_(transfer) (&amd64->guest_YMM11[4], buf, dir, size, mod); break;
+ case 70: VG_(transfer) (&amd64->guest_YMM12[4], buf, dir, size, mod); break;
+ case 71: VG_(transfer) (&amd64->guest_YMM13[4], buf, dir, size, mod); break;
+ case 72: VG_(transfer) (&amd64->guest_YMM14[4], buf, dir, size, mod); break;
+ case 73: VG_(transfer) (&amd64->guest_YMM15[4], buf, dir, size, mod); break;
default: vg_assert(0);
}
}
+static
+Bool have_avx(void)
+{
+ VexArch va;
+ VexArchInfo vai;
+ VG_(machine_get_VexArchInfo) (&va, &vai);
+ return (vai.hwcaps & VEX_HWCAPS_AMD64_AVX ? True : False);
+}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+#if defined(VGO_linux)
+ if (have_avx())
+ return "amd64-avx-linux-valgrind.xml";
+ else
+ return "amd64-linux-valgrind.xml";
+#else
+ if (have_avx())
+ return "amd64-avx-coresse-valgrind.xml";
+ else
+ return "amd64-coresse-valgrind.xml";
+#endif
+ } else {
+#if defined(VGO_linux)
+ if (have_avx())
+ return "amd64-avx-linux.xml";
+ else
+ return NULL;
+#else
+ if (have_avx())
+ return "amd64-avx-coresse.xml";
+ else
+ return NULL;
+#endif
+ }
+}
+
static struct valgrind_target_ops low_target = {
- num_regs,
+ -1, // Must be computed at init time.
regs,
7, //RSP
transfer_register,
get_pc,
set_pc,
"amd64",
- NULL, // target_xml not needed.
-#if defined(VGO_linux)
- "amd64-linux-valgrind.xml"
-#else
- "amd64-coresse-valgrind.xml"
-#endif
+ target_xml
};
void amd64_init_architecture (struct valgrind_target_ops *target)
{
*target = low_target;
- set_register_cache (regs, num_regs);
+ if (have_avx())
+ dyn_num_regs = max_num_regs;
+ else
+ dyn_num_regs = max_num_regs - 16; // remove the AVX "high" registers.
+ target->num_regs = dyn_num_regs;
+ set_register_cache (regs, dyn_num_regs);
gdbserver_expedite_regs = expedite_regs;
}
Modified: trunk/coregrind/m_gdbserver/server.c (+6 -16)
===================================================================
--- trunk/coregrind/m_gdbserver/server.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/server.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -532,8 +532,7 @@
}
}
- if ( (valgrind_target_xml() != NULL
- || valgrind_shadow_target_xml() != NULL)
+ if (valgrind_target_xml(VG_(clo_vgdb_shadow_registers)) != NULL
&& strncmp ("qXfer:features:read:", arg_own_buf, 20) == 0) {
CORE_ADDR ofs;
unsigned int len, doc_len;
@@ -549,19 +548,11 @@
}
if (strcmp (annex, "target.xml") == 0) {
- annex = NULL; // to replace it by the corresponding filename.
-
- /* If VG_(clo_vgdb_shadow_registers), try to use
- shadow_target_xml. Fallback to target_xml
- if not defined. */
- if (VG_(clo_vgdb_shadow_registers)) {
- annex = valgrind_shadow_target_xml();
- if (annex != NULL)
- /* Ensure the shadow registers are initialized. */
- initialize_shadow_low(True);
+ annex = valgrind_target_xml(VG_(clo_vgdb_shadow_registers));
+ if (annex != NULL && VG_(clo_vgdb_shadow_registers)) {
+ /* Ensure the shadow registers are initialized. */
+ initialize_shadow_low(True);
}
- if (annex == NULL)
- annex = valgrind_target_xml();
if (annex == NULL) {
strcpy (arg_own_buf, "E00");
return;
@@ -669,8 +660,7 @@
if (VG_(client_auxv))
strcat (arg_own_buf, ";qXfer:auxv:read+");
- if (valgrind_target_xml() != NULL
- || valgrind_shadow_target_xml() != NULL) {
+ if (valgrind_target_xml(VG_(clo_vgdb_shadow_registers)) != NULL) {
strcat (arg_own_buf, ";qXfer:features:read+");
/* if a new gdb connects to us, we have to reset the register
set to the normal register sets to allow this new gdb to
Modified: trunk/coregrind/m_gdbserver/valgrind-low-arm.c (+11 -2)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-arm.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-arm.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -277,6 +277,16 @@
}
}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+ return "arm-with-vfpv3-valgrind.xml";
+ } else {
+ return "arm-with-vfpv3.xml";
+ }
+}
+
static struct valgrind_target_ops low_target = {
num_regs,
regs,
@@ -285,8 +295,7 @@
get_pc,
set_pc,
"arm",
- "arm-with-vfpv3.xml",
- "arm-with-vfpv3-valgrind.xml"
+ target_xml
};
void arm_init_architecture (struct valgrind_target_ops *target)
Added: trunk/coregrind/m_gdbserver/64bit-avx.xml (+26 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/64bit-avx.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/64bit-avx.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx">
+ <reg name="ymm0h" bitsize="128" type="uint128"/>
+ <reg name="ymm1h" bitsize="128" type="uint128"/>
+ <reg name="ymm2h" bitsize="128" type="uint128"/>
+ <reg name="ymm3h" bitsize="128" type="uint128"/>
+ <reg name="ymm4h" bitsize="128" type="uint128"/>
+ <reg name="ymm5h" bitsize="128" type="uint128"/>
+ <reg name="ymm6h" bitsize="128" type="uint128"/>
+ <reg name="ymm7h" bitsize="128" type="uint128"/>
+ <reg name="ymm8h" bitsize="128" type="uint128"/>
+ <reg name="ymm9h" bitsize="128" type="uint128"/>
+ <reg name="ymm10h" bitsize="128" type="uint128"/>
+ <reg name="ymm11h" bitsize="128" type="uint128"/>
+ <reg name="ymm12h" bitsize="128" type="uint128"/>
+ <reg name="ymm13h" bitsize="128" type="uint128"/>
+ <reg name="ymm14h" bitsize="128" type="uint128"/>
+ <reg name="ymm15h" bitsize="128" type="uint128"/>
+</feature>
Added: trunk/coregrind/m_gdbserver/amd64-avx-linux.xml (+18 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/amd64-avx-linux.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/amd64-avx-linux.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- AMD64 with avx - Includes Linux-only special "register". -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>i386:x86-64</architecture>
+ <osabi>GNU/Linux</osabi>
+ <xi:include href="64bit-core.xml"/>
+ <xi:include href="64bit-sse.xml"/>
+ <xi:include href="64bit-linux.xml"/>
+ <xi:include href="64bit-avx.xml"/>
+</target>
Modified: trunk/coregrind/m_gdbserver/valgrind_low.h (+7 -7)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind_low.h 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind_low.h 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -54,17 +54,17 @@
or NULL not to answer. */
const char *arch_string;
- /* Description of the set of registers.
+ /* Returns the target xml description of the set of registers.
For some architectures (e.g. arm), it is mandatory
to give a description of the registers, otherwise
gdb does not understand the reply to the 'g' packet
- (which is used to get the registers). */
- const char *target_xml;
+ (which is used to get the registers).
+ If shadow_mode, returns a target xml description
+ including the two shadow registers sets.
+ This is mandatory to use the option --vgdb-shadow-registers=yes.
+ Returns NULL if there is no target xml file*/
+ char* (*target_xml) (Bool shadow_mode);
- /* Same as target_xml, but describes also the two shadow
- registers set.
- This is mandatory to use the option --vgdb-shadow-registers=yes. */
- const char *shadow_target_xml;
};
extern void x86_init_architecture (struct valgrind_target_ops *target);
Added: trunk/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml (+26 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- AMD64 with avx - Includes Linux-only special "register". -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>i386:x86-64</architecture>
+ <osabi>GNU/Linux</osabi>
+ <xi:include href="64bit-core.xml"/>
+ <xi:include href="64bit-sse.xml"/>
+ <xi:include href="64bit-linux.xml"/>
+ <xi:include href="64bit-avx.xml"/>
+ <xi:include href="64bit-core-valgrind-s1.xml"/>
+ <xi:include href="64bit-sse-valgrind-s1.xml"/>
+ <xi:include href="64bit-linux-valgrind-s1.xml"/>
+ <xi:include href="64bit-avx-valgrind-s1.xml"/>
+ <xi:include href="64bit-core-valgrind-s2.xml"/>
+ <xi:include href="64bit-sse-valgrind-s2.xml"/>
+ <xi:include href="64bit-linux-valgrind-s2.xml"/>
+ <xi:include href="64bit-avx-valgrind-s2.xml"/>
+</target>
Modified: trunk/coregrind/m_gdbserver/valgrind-low-s390x.c (+11 -2)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-s390x.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-s390x.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -187,6 +187,16 @@
}
}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+ return "s390x-generic-valgrind.xml";
+ } else {
+ return "s390x-generic.xml";
+ }
+}
+
static struct valgrind_target_ops low_target = {
num_regs,
regs,
@@ -195,8 +205,7 @@
get_pc,
set_pc,
"s390x",
- "s390x-generic.xml",
- "s390x-generic-valgrind.xml"
+ target_xml
};
void s390x_init_architecture (struct valgrind_target_ops *target)
Modified: trunk/coregrind/m_gdbserver/target.h (+6 -6)
===================================================================
--- trunk/coregrind/m_gdbserver/target.h 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/target.h 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -58,14 +58,14 @@
extern void initialize_shadow_low (Bool shadow_mode);
/* Returns the name of the xml target description file.
- returns NULL if no xml target description available. */
-extern char* valgrind_target_xml (void);
+ returns NULL if no xml target description available.
+ if shadow_mode, then returns the xml target description
+ with the shadow registers
+ else returns the xml target description only for
+ the normal registers. */
+extern char* valgrind_target_xml (Bool shadow_mode);
-/* Same but describes also the shadow registers. */
-extern char* valgrind_shadow_target_xml (void);
-
-
/* -------------------------------------------------------------------------- */
/* --------------------------- Execution control ---------------------------- */
/* -------------------------------------------------------------------------- */
Modified: trunk/coregrind/m_gdbserver/target.c (+2 -7)
===================================================================
--- trunk/coregrind/m_gdbserver/target.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/target.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -491,16 +491,11 @@
return 1; /* error or unsupported */
}
-char* valgrind_target_xml (void)
+char* valgrind_target_xml (Bool shadow_mode)
{
- return (char *) the_low_target.target_xml;
+ return (*the_low_target.target_xml) (shadow_mode);
}
-char* valgrind_shadow_target_xml (void)
-{
- return (char *) the_low_target.shadow_target_xml;
-}
-
int valgrind_insert_watchpoint (char type, CORE_ADDR addr, int len)
{
return valgrind_point (/* insert */ True, type, addr, len);
Added: trunk/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml (+22 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!-- AMD64 - core and sse. -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+ <architecture>i386:x86-64</architecture>
+ <xi:include href="64bit-core.xml"/>
+ <xi:include href="64bit-sse.xml"/>
+ <xi:include href="64bit-avx.xml"/>
+ <xi:include href="64bit-core-valgrind-s1.xml"/>
+ <xi:include href="64bit-sse-valgrind-s1.xml"/>
+ <xi:include href="64bit-avx-valgrind-s1.xml"/>
+ <xi:include href="64bit-core-valgrind-s2.xml"/>
+ <xi:include href="64bit-sse-valgrind-s2.xml"/>
+ <xi:include href="64bit-avx-valgrind-s2.xml"/>
+</target>
Modified: trunk/coregrind/m_gdbserver/valgrind-low-ppc64.c (+11 -2)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-ppc64.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-ppc64.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -319,6 +319,16 @@
}
}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+ return "powerpc-altivec64l-valgrind.xml";
+ } else {
+ return "powerpc-altivec64l.xml";
+ }
+}
+
static struct valgrind_target_ops low_target = {
num_regs,
regs,
@@ -327,8 +337,7 @@
get_pc,
set_pc,
"ppc64",
- "powerpc-altivec64l.xml",
- "powerpc-altivec64l-valgrind.xml"
+ target_xml
};
void ppc64_init_architecture (struct valgrind_target_ops *target)
Modified: trunk/coregrind/Makefile.am (+7 -0)
===================================================================
--- trunk/coregrind/Makefile.am 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/Makefile.am 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -469,6 +469,9 @@
m_gdbserver/32bit-sse-valgrind-s1.xml \
m_gdbserver/32bit-sse-valgrind-s2.xml \
m_gdbserver/32bit-sse.xml \
+ m_gdbserver/64bit-avx-valgrind-s2.xml \
+ m_gdbserver/64bit-avx-valgrind-s1.xml \
+ m_gdbserver/64bit-avx.xml \
m_gdbserver/64bit-core-valgrind-s1.xml \
m_gdbserver/64bit-core-valgrind-s2.xml \
m_gdbserver/64bit-core.xml \
@@ -478,6 +481,10 @@
m_gdbserver/64bit-sse-valgrind-s1.xml \
m_gdbserver/64bit-sse-valgrind-s2.xml \
m_gdbserver/64bit-sse.xml \
+ m_gdbserver/amd64-avx-coresse-valgrind.xml \
+ m_gdbserver/amd64-avx-coresse.xml \
+ m_gdbserver/amd64-avx-linux-valgrind.xml \
+ m_gdbserver/amd64-avx-linux.xml \
m_gdbserver/amd64-coresse-valgrind.xml \
m_gdbserver/amd64-linux-valgrind.xml \
m_gdbserver/arm-core-valgrind-s1.xml \
Added: trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml (+26 -0)
===================================================================
--- trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx.valgrind.s2">
+ <reg name="ymm0hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm1hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm2hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm3hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm4hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm5hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm6hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm7hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm8hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm9hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm10hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm11hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm12hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm13hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm14hs2" bitsize="128" type="uint128"/>
+ <reg name="ymm15hs2" bitsize="128" type="uint128"/>
+</feature>
Modified: trunk/coregrind/m_gdbserver/valgrind-low-x86.c (+15 -6)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-x86.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-x86.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -243,6 +243,20 @@
}
}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+#if defined(VGO_linux)
+ return "i386-linux-valgrind.xml";
+#else
+ return "i386-coresse-valgrind.xml";
+#endif
+ } else {
+ return NULL;
+ }
+}
+
static struct valgrind_target_ops low_target = {
num_regs,
regs,
@@ -251,12 +265,7 @@
get_pc,
set_pc,
"i386",
- NULL, // target_xml not needed.
-#if defined(VGO_linux)
- "i386-linux-valgrind.xml"
-#else
- "i386-coresse-valgrind.xml"
-#endif
+ target_xml
};
void x86_init_architecture (struct valgrind_target_ops *target)
Modified: trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c (+11 -2)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c 2012-05-24 22:07:16 +01:00 (rev 12580)
+++ trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c 2012-05-24 22:33:17 +01:00 (rev 12581)
@@ -322,6 +322,16 @@
}
}
+static
+char* target_xml (Bool shadow_mode)
+{
+ if (shadow_mode) {
+ return "powerpc-altivec32l-valgrind.xml";
+ } else {
+ return "powerpc-altivec32l.xml";
+ }
+}
+
static struct valgrind_target_ops low_target = {
num_regs,
regs,
@@ -330,8 +340,7 @@
get_pc,
set_pc,
"ppc32",
- "powerpc-altivec32l.xml",
- "powerpc-altivec32l-valgrind.xml"
+ target_xml
};
void ppc32_init_architecture (struct valgrind_target_ops *target)
|
|
From: <sv...@va...> - 2012-05-24 21:07:29
|
sewardj 2012-05-24 22:07:16 +0100 (Thu, 24 May 2012)
New Revision: 12580
Log:
Update.
Modified files:
trunk/none/tests/amd64/avx-1.c
Modified: trunk/none/tests/amd64/avx-1.c (+53 -3)
===================================================================
--- trunk/none/tests/amd64/avx-1.c 2012-05-23 22:50:36 +01:00 (rev 12579)
+++ trunk/none/tests/amd64/avx-1.c 2012-05-24 22:07:16 +01:00 (rev 12580)
@@ -138,7 +138,8 @@
its mem and reg forms. The reg form of the insn may mention, as
operands only %ymm6, %ymm7, %ymm8, %ymm9 and %r14. The mem form of
the insn may mention as operands only (%rax), %ymm7, %ymm8, %ymm9
- and %r14. */
+ and %r14. It's OK for the insn to clobber ymm0, as this is needed
+ for testing PCMPxSTRx. */
#define GEN_test_RandM(_name, _reg_form, _mem_form) \
\
@@ -162,7 +163,7 @@
"movq %%r14, 128(%0)" "\n\t" \
: /*OUT*/ \
: /*IN*/"r"(b) \
- : /*TRASH*/"xmm7","xmm8","xmm6","xmm9","r14","memory","cc" \
+ : /*TRASH*/"xmm0","xmm7","xmm8","xmm6","xmm9","r14","memory","cc" \
); \
showBlock("after", b); \
randBlock(b); \
@@ -181,7 +182,7 @@
"movq %%r14, 128(%0)" "\n\t" \
: /*OUT*/ \
: /*IN*/"r"(b) \
- : /*TRASH*/"xmm8","xmm7","xmm9","r14","rax","memory","cc" \
+ : /*TRASH*/"xmm0","xmm8","xmm7","xmm9","r14","rax","memory","cc" \
); \
showBlock("after", b); \
printf("\n"); \
@@ -357,6 +358,45 @@
"vmovq %%r14, %%xmm7",
"vmovq (%%rax), %%xmm9")
+GEN_test_RandM(VPCMPESTRM_0x45_128,
+ "vpcmpestrm $0x45, %%xmm7, %%xmm8; movapd %%xmm0, %%xmm9",
+ "vpcmpestrm $0x45, (%%rax), %%xmm8; movapd %%xmm0, %%xmm9")
+
+/* NB tests the reg form only */
+GEN_test_Ronly(VMOVD_XMM_to_IREG32,
+ "vmovd %%xmm7, %%r14d")
+
+GEN_test_RandM(VCVTSD2SS_128,
+ "vcvtsd2ss %%xmm9, %%xmm8, %%xmm7",
+ "vcvtsd2ss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSS2SD_128,
+ "vcvtss2sd %%xmm9, %%xmm8, %%xmm7",
+ "vcvtss2sd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPACKUSWB_128,
+ "vpackuswb %%xmm9, %%xmm8, %%xmm7",
+ "vpackuswb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTTSS2SI_64,
+ "vcvttss2si %%xmm8, %%r14",
+ "vcvttss2si (%%rax), %%r14")
+
+GEN_test_Ronly(VPMOVMSKB_128,
+ "vpmovmskb %%xmm8, %%r14")
+
+GEN_test_RandM(VPAND_128,
+ "vpand %%xmm9, %%xmm8, %%xmm7",
+ "vpand (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVHPD_128,
+ "vmovhpd %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPCMPEQB_128,
+ "vpcmpeqb %%xmm9, %%xmm8, %%xmm7",
+ "vpcmpeqb (%%rax), %%xmm8, %%xmm7")
+
+
/* Comment duplicated above, for convenient reference:
Allowed operands in test insns:
Reg form: %ymm6, %ymm7, %ymm8, %ymm9 and %r14.
@@ -366,6 +406,16 @@
int main ( void )
{
+ test_VPCMPEQB_128();
+ test_VMOVHPD_128();
+ test_VPAND_128();
+ test_VPMOVMSKB_128();
+ test_VCVTTSS2SI_64();
+ test_VPACKUSWB_128();
+ test_VCVTSS2SD_128();
+ test_VCVTSD2SS_128();
+ test_VMOVD_XMM_to_IREG32();
+ test_VPCMPESTRM_0x45_128();
test_VMOVQ_IREGorMEM64_to_XMM();
test_VMOVUPS_XMM_to_XMMorMEM();
test_VMOVNTDQ_128();
|
|
From: <sv...@va...> - 2012-05-24 16:29:27
|
sewardj 2012-05-24 17:29:18 +0100 (Thu, 24 May 2012)
New Revision: 2349
Log:
Implement
/* VEX.NDS.128.66.0F.WIG DB /r = VPAND xmm3/m128, xmm2, xmm1 */
/* VPCMPEQB = VEX.NDS.128.66.0F.WIG 74 /r */
/* VCVTTSS2SI xmm1/m64, r64 = VEX.LIG.F3.0F.W1 2C /r */
/* VMOVHPD xmm1, m64 = VEX.128.66.0F.WIG 17 /r */
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+77 -21)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-05-24 07:31:21 +01:00 (rev 2348)
+++ trunk/priv/guest_amd64_toIR.c 2012-05-24 17:29:18 +01:00 (rev 2349)
@@ -9625,6 +9625,31 @@
}
+static Long dis_PMOVMSKB_128 ( VexAbiInfo* vbi, Prefix pfx,
+ Long delta, Bool isAvx )
+{
+ /* UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo ); */
+ UChar modrm = getUChar(delta);
+ vassert(epartIsReg(modrm)); /* ensured by caller */
+ UInt rE = eregOfRexRM(pfx,modrm);
+ UInt rG = gregOfRexRM(pfx,modrm);
+ IRTemp t0 = newTemp(Ity_I64);
+ IRTemp t1 = newTemp(Ity_I64);
+ IRTemp t5 = newTemp(Ity_I64);
+ assign(t0, getXMMRegLane64(rE, 0));
+ assign(t1, getXMMRegLane64(rE, 1));
+ assign(t5, mkIRExprCCall( Ity_I64, 0/*regparms*/,
+ "amd64g_calculate_sse_pmovmskb",
+ &amd64g_calculate_sse_pmovmskb,
+ mkIRExprVec_2( mkexpr(t1), mkexpr(t0) )));
+ putIReg32(rG, unop(Iop_64to32,mkexpr(t5)));
+ DIP("%spmovmskb %s,%s\n", isAvx ? "v" : "", nameXMMReg(rE),
+ nameIReg32(rG));
+ delta += 1;
+ return delta;
+}
+
+
/* FIXME: why not just use InterleaveLO / InterleaveHI ?? */
static IRTemp math_UNPCKxPS_128 ( IRTemp sV, IRTemp dV, UChar opc )
{
@@ -12326,27 +12351,10 @@
zero-extend of it in ireg(G). Doing this directly is just
too cumbersome; give up therefore and call a helper. */
if (have66noF2noF3(pfx)
- && (sz == 2 || /* ignore redundant REX.W */ sz == 8)) {
- /* UInt x86g_calculate_sse_pmovmskb ( ULong w64hi, ULong w64lo ); */
- modrm = getUChar(delta);
- if (epartIsReg(modrm)) {
- t0 = newTemp(Ity_I64);
- t1 = newTemp(Ity_I64);
- assign(t0, getXMMRegLane64(eregOfRexRM(pfx,modrm), 0));
- assign(t1, getXMMRegLane64(eregOfRexRM(pfx,modrm), 1));
- t5 = newTemp(Ity_I64);
- assign(t5, mkIRExprCCall(
- Ity_I64, 0/*regparms*/,
- "amd64g_calculate_sse_pmovmskb",
- &amd64g_calculate_sse_pmovmskb,
- mkIRExprVec_2( mkexpr(t1), mkexpr(t0) )));
- putIReg32(gregOfRexRM(pfx,modrm), unop(Iop_64to32,mkexpr(t5)));
- DIP("pmovmskb %s,%s\n", nameXMMReg(eregOfRexRM(pfx,modrm)),
- nameIReg32(gregOfRexRM(pfx,modrm)));
- delta += 1;
- goto decode_success;
- }
- /* no memory case, it seems */
+ && (sz == 2 || /* ignore redundant REX.W */ sz == 8)
+ && epartIsReg(getUChar(delta))) { /* no memory case, it seems */
+ delta = dis_PMOVMSKB_128( vbi, pfx, delta, False/*!isAvx*/ );
+ goto decode_success;
}
/* ***--- this is an MMX class insn introduced in SSE1 ---*** */
/* 0F D7 = PMOVMSKB -- extract sign bits from each of 8 lanes in
@@ -19888,6 +19896,21 @@
}
break;
+ case 0x17:
+ /* VMOVHPD xmm1, m64 = VEX.128.66.0F.WIG 17 /r */
+ /* Insn exists only in mem form (not sure about this) */
+ if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/
+ && !epartIsReg(getUChar(delta))) {
+ UChar modrm = getUChar(delta);
+ UInt rG = gregOfRexRM(pfx, modrm);
+ addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
+ delta += alen;
+ storeLE( mkexpr(addr), getXMMRegLane64( rG, 1));
+ DIP("vmovhpd %s,%s\n", nameXMMReg(rG), dis_buf);
+ goto decode_success;
+ }
+ break;
+
case 0x28:
/* VMOVAPD xmm2/m128, xmm1 = VEX.128.66.0F.WIG 28 /r */
if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
@@ -20120,6 +20143,11 @@
delta = dis_CVTxSS2SI( vbi, pfx, delta, True/*isAvx*/, opc, 4);
goto decode_success;
}
+ /* VCVTTSS2SI xmm1/m64, r64 = VEX.LIG.F3.0F.W1 2C /r */
+ if (haveF3no66noF2(pfx) && 1==getRexW(pfx)/*W1*/) {
+ delta = dis_CVTxSS2SI( vbi, pfx, delta, True/*isAvx*/, opc, 8);
+ goto decode_success;
+ }
break;
case 0x2E:
@@ -20555,6 +20583,16 @@
}
break;
+ case 0x74:
+ /* VPCMPEQB r/m, rV, r ::: r = rV `eq-by-8s` r/m (MVR format) */
+ /* VPCMPEQB = VEX.NDS.128.66.0F.WIG 74 /r */
+ if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+ delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_simple(
+ uses_vvvv, vbi, pfx, delta, "vpcmpeqb", Iop_CmpEQ8x16 );
+ goto decode_success;
+ }
+ break;
+
case 0x76:
/* VPCMPEQD r/m, rV, r ::: r = rV `eq-by-32s` r/m (MVR format) */
/* VPCMPEQD = VEX.NDS.128.66.0F.WIG 76 /r */
@@ -20728,6 +20766,24 @@
}
break;
+ case 0xD7:
+ /* VEX.128.66.0F.WIG D7 /r = VPMOVMSKB xmm1, r32 */
+ if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+ delta = dis_PMOVMSKB_128( vbi, pfx, delta, True/*isAvx*/ );
+ goto decode_success;
+ }
+ break;
+
+ case 0xDB:
+ /* VPAND r/m, rV, r ::: r = rV & r/m (MVR format) */
+ /* VEX.NDS.128.66.0F.WIG DB /r = VPAND xmm3/m128, xmm2, xmm1 */
+ if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+ delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG_simple(
+ uses_vvvv, vbi, pfx, delta, "vpand", Iop_AndV128 );
+ goto decode_success;
+ }
+ break;
+
case 0xE7:
/* MOVNTDQ xmm1, m128 = VEX.128.66.0F.WIG E7 /r */
if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
|
|
From: Julian S. <js...@ac...> - 2012-05-24 13:28:06
|
On Thursday, May 24, 2012, Rich Coe wrote: > Hi Dave, > > I applied the patch to the local check out. > > Building I get this error: > make[3]: *** No rule to make target `m_gdbserver/valgrind-low.c', needed by > `libcoregrind_x86_darwin_a-valgrind-low.o'. Stop. Yeah, I got that, something to do with Philippe's gdbserver work yesterday. But I think it is ok -- a from-clean build fixes it. I assume therefore there were some Makefile.am changes. J |
|
From: Rich C. <rc...@wi...> - 2012-05-24 12:07:31
|
Hi Dave, I applied the patch to the local check out. Building I get this error: make[3]: *** No rule to make target `m_gdbserver/valgrind-low.c', needed by `libcoregrind_x86_darwin_a-valgrind-low.o'. Stop. I haven't tracked it down yet. Rich On Thu, 24 May 2012 00:31:35 -0500 Dave Goodell <go...@mc...> wrote: > Thanks, Rich, for getting the darwin regression tests running again. Here's a simple patch for the test build issue that I had applied locally but forgot to send out to anyone with commit rights. > > -Dave > -- Rich Coe rc...@wi... |
|
From: <sv...@va...> - 2012-05-24 06:31:28
|
sewardj 2012-05-24 07:31:21 +0100 (Thu, 24 May 2012)
New Revision: 2348
Log:
Fix two more incorrect disAMode calls, recently introduced in AVX
support code.
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+2 -2)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-05-24 07:17:14 +01:00 (rev 2347)
+++ trunk/priv/guest_amd64_toIR.c 2012-05-24 07:31:21 +01:00 (rev 2348)
@@ -19676,7 +19676,7 @@
delta += 1;
DIP("%s %s,%s\n", opname, nameXMMReg(rE), nameXMMReg(rG));
} else {
- addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 1 );
+ addr = disAMode ( &alen, vbi, pfx, delta, dis_buf, 0 );
assign(arg, loadLE(Ity_V128, mkexpr(addr)));
delta += alen;
DIP("%s %s,%s\n", opname, dis_buf, nameXMMReg(rG));
@@ -21039,7 +21039,7 @@
nameXMMReg(rIS4), nameXMMReg(rE),
nameXMMReg(rV), nameXMMReg(rG));
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
delta += alen;
assign(vecE, loadLE(Ity_V128, mkexpr(addr)));
UChar ib = getUChar(delta);
|
|
From: <sv...@va...> - 2012-05-24 06:17:22
|
sewardj 2012-05-24 07:17:14 +0100 (Thu, 24 May 2012)
New Revision: 2347
Log:
Fix incorrect uses of disAMode in some SSE4 instructions that have an
immediate byte as a subopcode. Fixes #294260. (Patrick J. LoPresti,
lop...@gm...)
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+5 -5)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-05-24 01:09:27 +01:00 (rev 2346)
+++ trunk/priv/guest_amd64_toIR.c 2012-05-24 07:17:14 +01:00 (rev 2347)
@@ -15595,7 +15595,7 @@
} else {
regNoL = 16; /* use XMM16 as an intermediary */
regNoR = gregOfRexRM(pfx, modrm);
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
/* No alignment check; I guess that makes sense, given that
these insns are for dealing with C style strings. */
stmt( IRStmt_Put( OFFB_YMM16, loadLE(Ity_V128, mkexpr(addr)) ));
@@ -15751,7 +15751,7 @@
imm, nameXMMReg( eregOfRexRM(pfx, modrm) ),
nameXMMReg( gregOfRexRM(pfx, modrm) ) );
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
gen_SEGV_if_not_16_aligned(addr);
assign( src0, loadLE(Ity_F32,
binop(Iop_Add64, mkexpr(addr), mkU64(0) )));
@@ -15813,7 +15813,7 @@
imm, nameXMMReg( eregOfRexRM(pfx, modrm) ),
nameXMMReg( gregOfRexRM(pfx, modrm) ) );
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
gen_SEGV_if_not_16_aligned(addr);
assign( src0, loadLE(Ity_F64,
binop(Iop_Add64, mkexpr(addr), mkU64(0) )));
@@ -15868,7 +15868,7 @@
imm, nameXMMReg( eregOfRexRM(pfx, modrm) ),
nameXMMReg( gregOfRexRM(pfx, modrm) ) );
} else {
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
assign( src, loadLE( isD ? Ity_F64 : Ity_F32, mkexpr(addr) ));
imm = getUChar(delta+alen);
if (imm & ~15) goto decode_failure;
@@ -16811,7 +16811,7 @@
} else {
regNoL = 16; /* use XMM16 as an intermediary */
regNoR = gregOfRexRM(pfx, modrm);
- addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 0 );
+ addr = disAMode( &alen, vbi, pfx, delta, dis_buf, 1 );
/* alignment check ???? . */
stmt( IRStmt_Put( OFFB_YMM16, loadLE(Ity_V128, mkexpr(addr)) ));
imm = getUChar(delta+alen);
|
|
From: Dave G. <go...@mc...> - 2012-05-24 05:31:45
|
Thanks, Rich, for getting the darwin regression tests running again. Here's a simple patch for the test build issue that I had applied locally but forgot to send out to anyone with commit rights. -Dave |
|
From: Rich C. <rc...@wi...> - 2012-05-24 04:21:48
|
Nightly build on macbook ( Darwin 10.8.0 i386 ) Started at 2012-05-23 23:05:00 CDT Ended at 2012-05-23 23:21:38 CDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of verbose log follow echo dsymutil many-xpts dsymutil sarp dsymutil tinycc Making check in gdbserver_tests make clean_after_fork fork_chain passsigalrm sleepers main_pic t watchpoints gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../coregrind -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT clean_after_fork.o -MD -MP -MF .deps/clean_after_fork.Tpo -c -o clean_after_fork.o clean_after_fork.c mv -f .deps/clean_after_fork.Tpo .deps/clean_after_fork.Po gcc -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o clean_after_fork clean_after_fork.o -lpthread gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../coregrind -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT fork_chain.o -MD -MP -MF .deps/fork_chain.Tpo -c -o fork_chain.o fork_chain.c mv -f .deps/fork_chain.Tpo .deps/fork_chain.Po gcc -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -o fork_chain fork_chain.o -lpthread gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../coregrind -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_darwin=1 -DVGP_x86_darwin=1 -DVGPV_x86_darwin_vanilla=1 -Winline -Wall -Wshadow -g -arch i386 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -MT passsigalrm.o -MD -MP -MF .deps/passsigalrm.Tpo -c -o passsigalrm.o passsigalrm.c passsigalrm.c: In function 'main': passsigalrm.c:54: error: 'SIGRTMIN' undeclared (first use in this function) passsigalrm.c:54: error: (Each undeclared identifier is reported only once passsigalrm.c:54: error: for each function it appears in.) make[3]: *** [passsigalrm.o] Error 1 make[2]: *** [check-am] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 Congratulations, all tests passed! |
|
From: Philippe W. <phi...@sk...> - 2012-05-24 03:53:35
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.3.1-3.fc16.ppc64 ppc64 Vendor version: Fedora release 16 (Verne) Nightly build on gcc110 ( Fedora release 16 (Verne), ppc64 ) Started at 2012-05-23 20:00:13 PDT Ended at 2012-05-23 20:52:30 PDT 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 == 524 tests, 15 stderr failures, 8 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/ppc32/power_ISA2_05 (stdout) memcheck/tests/ppc32/power_ISA2_05 (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/ppc64/power_ISA2_05 (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/empty-exe (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-05-24 03:36:33
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2012-05-24 03:41:57 BST Ended at 2012-05-24 04:36:11 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 600 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-05-24 03:29:43
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2012-05-24 03:31:09 BST Ended at 2012-05-24 04:29:21 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 602 tests, 3 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-05-24 03:27:49
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2012-05-24 03:21:11 BST Ended at 2012-05-24 04:27:33 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 602 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/stack_switch (stderr) helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-05-24 03:26:32
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-05-24 03:11:35 BST Ended at 2012-05-24 04:26:11 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 617 tests, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: <br...@ac...> - 2012-05-24 03:24:45
|
valgrind revision: 12579
VEX revision: 2346
C compiler: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
Assembler: GNU assembler 2.15.92.0.2 20040927
C library: GNU C Library stable release version 2.3.4
uname -mrs: Linux 2.6.9-42.EL s390x
Vendor version: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Nightly build on z10-ec ( s390x build on z10-EC )
Started at 2012-05-23 22:20:19 EDT
Ended at 2012-05-23 23:24:32 EDT
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
== 500 tests, 8 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/varinfo6 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
drd/tests/tc04_free_lock (stderr)
drd/tests/tc09_bad_unlock (stderr)
=================================================
./valgrind-new/drd/tests/tc04_free_lock.stderr.diff-ppc
=================================================
--- tc04_free_lock.stderr.exp-ppc 2012-05-23 23:08:45.000000000 -0400
+++ tc04_free_lock.stderr.out 2012-05-23 23:23:50.000000000 -0400
@@ -7,28 +7,22 @@
by 0x........: main (tc04_free_lock.c:20)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:26)
+ at 0x........: bar (tc04_free_lock.c:40)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
by 0x........: main (tc04_free_lock.c:26)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: foo (tc04_free_lock.c:47)
- by 0x........: main (tc04_free_lock.c:27)
+ at 0x........: foo (tc04_free_lock.c:49)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc04_free_lock.stderr.diff-x86
=================================================
--- tc04_free_lock.stderr.exp-x86 2012-05-23 23:08:45.000000000 -0400
+++ tc04_free_lock.stderr.out 2012-05-23 23:23:50.000000000 -0400
@@ -8,7 +8,8 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:26)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
@@ -16,19 +17,12 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: foo (tc04_free_lock.c:49)
- by 0x........: main (tc04_free_lock.c:27)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc09_bad_unlock.stderr.diff-glibc2.8
=================================================
--- tc09_bad_unlock.stderr.exp-glibc2.8 2012-05-23 23:08:45.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 23:23:54.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc09_bad_unlock.stderr.diff-ppc
=================================================
--- tc09_bad_unlock.stderr.exp-ppc 2012-05-23 23:08:45.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 23:23:54.000000000 -0400
@@ -25,8 +25,8 @@
by 0x........: main (tc09_bad_unlock.c:49)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/tc09_bad_unlock.stderr.diff-x86
=================================================
--- tc09_bad_unlock.stderr.exp-x86 2012-05-23 23:08:45.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 23:23:54.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-05-23 23:01:35.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 23:20:07.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2012-05-23 23:01:34.000000000 -0400
+++ tc18_semabuse.stderr.out 2012-05-23 23:20:15.000000000 -0400
@@ -18,13 +18,5 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
-----------------------------------------------------------------
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc18_semabuse.c:37)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-05-23 23:01:34.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-05-23 23:20:24.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2012-05-23 23:04:12.000000000 -0400
+++ manuel3.stderr.out 2012-05-23 23:15:10.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-05-23 23:04:12.000000000 -0400
+++ partial_load_ok.stderr.out 2012-05-23 23:15:41.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-05-23 23:04:12.000000000 -0400
+++ partial_load_ok.stderr.out 2012-05-23 23:15:41.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-05-23 23:04:12.000000000 -0400
+++ varinfo6.stderr.out 2012-05-23 23:16:37.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-05-23 23:04:11.000000000 -0400
+++ varinfo6.stderr.out 2012-05-23 23:16:37.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-old/drd/tests/tc04_free_lock.stderr.diff-ppc
=================================================
--- tc04_free_lock.stderr.exp-ppc 2012-05-23 22:39:28.000000000 -0400
+++ tc04_free_lock.stderr.out 2012-05-23 22:59:50.000000000 -0400
@@ -7,28 +7,22 @@
by 0x........: main (tc04_free_lock.c:20)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:26)
+ at 0x........: bar (tc04_free_lock.c:40)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
by 0x........: main (tc04_free_lock.c:26)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: foo (tc04_free_lock.c:47)
- by 0x........: main (tc04_free_lock.c:27)
+ at 0x........: foo (tc04_free_lock.c:49)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc04_free_lock.stderr.diff-x86
=================================================
--- tc04_free_lock.stderr.exp-x86 2012-05-23 22:39:28.000000000 -0400
+++ tc04_free_lock.stderr.out 2012-05-23 22:59:50.000000000 -0400
@@ -8,7 +8,8 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:26)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
by 0x........: bar (tc04_free_lock.c:38)
@@ -16,19 +17,12 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: foo (tc04_free_lock.c:49)
- by 0x........: main (tc04_free_lock.c:27)
+ by 0x........: process_dl_debug (in /lib64/ld-2.3.4.so)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: foo (tc04_free_lock.c:46)
by 0x........: main (tc04_free_lock.c:27)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: bar (tc04_free_lock.c:40)
- by 0x........: main (tc04_free_lock.c:28)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
- by 0x........: bar (tc04_free_lock.c:38)
- by 0x........: main (tc04_free_lock.c:28)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc09_bad_unlock.stderr.diff-glibc2.8
=================================================
--- tc09_bad_unlock.stderr.exp-glibc2.8 2012-05-23 22:39:28.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 22:59:54.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: (below main)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc09_bad_unlock.stderr.diff-ppc
=================================================
--- tc09_bad_unlock.stderr.exp-ppc 2012-05-23 22:39:28.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 22:59:54.000000000 -0400
@@ -25,8 +25,8 @@
by 0x........: main (tc09_bad_unlock.c:49)
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/drd/tests/tc09_bad_unlock.stderr.diff-x86
=================================================
--- tc09_bad_unlock.stderr.exp-x86 2012-05-23 22:39:28.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 22:59:54.000000000 -0400
@@ -26,7 +26,7 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:49)
+ by 0x........: ???
mutex 0x........ was first observed at:
at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
by 0x........: nearly_main (tc09_bad_unlock.c:31)
@@ -47,13 +47,5 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:50)
-Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
- at 0x........: nearly_main (tc09_bad_unlock.c:45)
- by 0x........: main (tc09_bad_unlock.c:50)
-mutex 0x........ was first observed at:
- at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
- by 0x........: nearly_main (tc09_bad_unlock.c:31)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-ERROR SUMMARY: 8 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-05-23 22:22:57.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-05-23 22:56:05.000000000 -0400
@@ -42,14 +42,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:41)
by 0x........: main (tc09_bad_unlock.c:49)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:49)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: nearly_main (tc09_bad_unlock.c:41)
- by 0x........: main (tc09_bad_unlock.c:50)
-
-----------------------------------------------------------------
-
Thread #x: Exiting thread still holds 1 lock
...
-ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2012-05-23 22:22:57.000000000 -0400
+++ tc18_semabuse.stderr.out 2012-05-23 22:56:13.000000000 -0400
@@ -18,13 +18,5 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
-----------------------------------------------------------------
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc18_semabuse.c:37)
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-05-23 22:22:57.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-05-23 22:56:23.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-Thread #x's call to pthread_mutex_init failed
- with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
- at 0x........: pthread_mutex_init (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:92)
-
-----------------------------------------------------------------
-
Thread #x: pthread_mutex_destroy of a locked mutex
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
@@ -63,26 +56,8 @@
at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:102)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_lock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:108)
-
-----------------------------------------------------------------
-Thread #x's call to pthread_mutex_trylock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:116)
-
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_timedlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:121)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:125)
-----------------------------------------------------------------
-
-Thread #x's call to pthread_mutex_unlock failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:125)
-
---------------- pthread_cond_wait et al ----------------
@@ -215,14 +183,6 @@
by 0x........: sem_wait (hg_intercepts.c:...)
by 0x........: main (tc20_verifywrap.c:242)
-----------------------------------------------------------------
-
-Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
- by 0x........: main (tc20_verifywrap.c:245)
-
FIXME: can't figure out how to verify wrap of sem_post
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2012-05-23 22:28:12.000000000 -0400
+++ manuel3.stderr.out 2012-05-23 22:51:06.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-05-23 22:28:12.000000000 -0400
+++ partial_load_ok.stderr.out 2012-05-23 22:51:37.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-05-23 22:28:12.000000000 -0400
+++ partial_load_ok.stderr.out 2012-05-23 22:51:37.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-05-23 22:28:12.000000000 -0400
+++ varinfo6.stderr.out 2012-05-23 22:52:33.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-05-23 22:28:12.000000000 -0400
+++ varinfo6.stderr.out 2012-05-23 22:52:33.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
|
|
From: Tom H. <to...@co...> - 2012-05-24 03:23:40
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-05-24 03:02:30 BST Ended at 2012-05-24 04:23:15 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 618 tests, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: Rich C. <rc...@wi...> - 2012-05-24 03:12:00
|
valgrind revision: 12579 VEX revision: C compiler: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585] Assembler: GNU assembler (GNU Binutils; openSUSE 11.4) 2.21 C library: GNU C Library stable release version 2.11.3 (20110203) uname -mrs: Linux 2.6.37.6-0.7-desktop x86_64 Vendor version: Welcome to openSUSE 11.4 "Celadon" - Kernel %r (%t). Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.6-0.7-desktop x86_64 ) Started at 2012-05-23 21:30:01 CDT Ended at 2012-05-23 22:11:50 CDT Results differ from 24 hours ago Checking out valgrind source tree ... failed Last 20 lines of verbose log follow echo Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2012-05-23T21:30:01} valgrind-new && svn update -r {2012-05-23T21:30:01} valgrind-new/VEX + eval 'svn co svn://svn.valgrind.org/valgrind/trunk -r {2012-05-23T21:30:01} valgrind-new && svn update -r {2012-05-23T21:30:01} valgrind-new/VEX' ++ svn co svn://svn.valgrind.org/valgrind/trunk -r '{2012-05-23T21:30:01}' valgrind-new A valgrind-new/Makefile.all.am A valgrind-new/glibc-2.X.supp.in A valgrind-new/glibc-2.X-drd.supp A valgrind-new/AUTHORS svn: Can't read from connection: Connection reset by peer ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 610 tests, 2 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/origin5-bz2 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed May 23 22:08:19 2012 --- new.short Wed May 23 22:11:50 2012 *************** *** 1,18 **** ! Checking out valgrind source tree ... done ! Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... failed ! Regression test results follow ! ! == 610 tests, 2 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == ! gdbserver_tests/mcbreak (stderrB) ! gdbserver_tests/mcclean_after_fork (stderrB) ! gdbserver_tests/mcleak (stderrB) ! gdbserver_tests/mcmain_pic (stderrB) ! gdbserver_tests/mcvabits (stderrB) ! gdbserver_tests/mssnapshot (stderrB) ! memcheck/tests/linux/stack_switch (stderr) ! memcheck/tests/origin5-bz2 (stderr) --- 1,13 ---- ! Checking out valgrind source tree ... failed ! Last 20 lines of verbose log follow echo + Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2012-05-23T21:30:01} valgrind-new && svn update -r {2012-05-23T21:30:01} valgrind-new/VEX + + eval 'svn co svn://svn.valgrind.org/valgrind/trunk -r {2012-05-23T21:30:01} valgrind-new && svn update -r {2012-05-23T21:30:01} valgrind-new/VEX' + ++ svn co svn://svn.valgrind.org/valgrind/trunk -r '{2012-05-23T21:30:01}' valgrind-new + A valgrind-new/Makefile.all.am + A valgrind-new/glibc-2.X.supp.in + A valgrind-new/glibc-2.X-drd.supp + A valgrind-new/AUTHORS + svn: Can't read from connection: Connection reset by peer ================================================= ./valgrind-old/gdbserver_tests/mcbreak.stderrB.diff ================================================= --- mcbreak.stderrB.exp 2012-05-23 21:34:02.442072773 -0500 +++ mcbreak.stderrB.out 2012-05-23 21:59:46.959886376 -0500 @@ -1,5 +1,7 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + vgdb-error value changed from 999999 to 0 n_errs_found 1 n_errs_shown 1 (vgdb-error 0) vgdb-error value changed from 0 to 0 ================================================= ./valgrind-old/gdbserver_tests/mcclean_after_fork.stderrB.diff ================================================= --- mcclean_after_fork.stderrB.exp 2012-05-23 21:34:02.441072914 -0500 +++ mcclean_after_fork.stderrB.out 2012-05-23 21:59:48.638642665 -0500 @@ -1,4 +1,6 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + monitor command request to kill this process Remote connection closed ================================================= ./valgrind-old/gdbserver_tests/mcleak.stderrB.diff ================================================= --- mcleak.stderrB.exp 2012-05-23 21:34:02.437073478 -0500 +++ mcleak.stderrB.out 2012-05-23 22:00:07.158954005 -0500 @@ -1,5 +1,7 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + 10 bytes in 1 blocks are still reachable in loss record ... of ... at 0x........: malloc (vg_replace_malloc.c:...) by 0x........: f (leak-delta.c:14) ================================================= ./valgrind-old/gdbserver_tests/mcmain_pic.stderrB.diff ================================================= --- mcmain_pic.stderrB.exp 2012-05-23 21:34:02.445072333 -0500 +++ mcmain_pic.stderrB.out 2012-05-23 22:00:08.731725681 -0500 @@ -1,3 +1,5 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + Remote connection closed ================================================= ./valgrind-old/gdbserver_tests/mcvabits.stderrB.diff ================================================= --- mcvabits.stderrB.exp 2012-05-23 21:34:02.446072185 -0500 +++ mcvabits.stderrB.out 2012-05-23 22:00:13.641012984 -0500 @@ -1,5 +1,7 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + Address 0x........ len 10 addressable Address 0x........ is 0 bytes inside data symbol "undefined" Address 0x........ len 10 defined ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2012-05-23 21:34:02.445072333 -0500 +++ mssnapshot.stderrB.out 2012-05-23 22:00:16.703568383 -0500 @@ -1,5 +1,9 @@ relaying data between gdb and process .... vgdb-error value changed from 0 to 999999 + + +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/memcheck/tests/linux/stack_switch.stderr.diff ================================================= --- stack_switch.stderr.exp 2012-05-23 21:36:15.104852608 -0500 +++ stack_switch.stderr.out 2012-05-23 22:01:14.829130174 -0500 @@ -0,0 +1,3 @@ +Syscall param clone(child_tidptr) contains uninitialised byte(s) + ... + ================================================= ./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x ================================================= --- origin5-bz2.stderr.exp-glibc212-s390x 2012-05-23 21:39:27.513944276 -0500 +++ origin5-bz2.stderr.out 2012-05-23 22:01:37.176885932 -0500 @@ -75,17 +75,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) @@ -131,6 +120,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-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x ================================================= --- origin5-bz2.stderr.exp-glibc234-s390x 2012-05-23 21:39:27.496946743 -0500 +++ origin5-bz2.stderr.out 2012-05-23 22:01:37.176885932 -0500 @@ -120,6 +120,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-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64 ================================================= --- origin5-bz2.stderr.exp-glibc25-amd64 2012-05-23 21:39:27.442954507 -0500 +++ origin5-bz2.stderr.out 2012-05-23 22:01:37.176885932 -0500 @@ -120,6 +120,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-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86 ================================================= --- origin5-bz2.stderr.exp-glibc25-x86 2012-05-23 21:39:27.471950373 -0500 +++ origin5-bz2.stderr.out 2012-05-23 22:01:37.176885932 -0500 @@ -12,7 +12,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........: copy_input_until_stop (origin5-bz2.c:4686) by 0x........: handle_compress (origin5-bz2.c:4750) by 0x........: BZ2_bzCompress (origin5-bz2.c:4822) @@ -21,7 +21,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........: copy_input_until_stop (origin5-bz2.c:4686) by 0x........: handle_compress (origin5-bz2.c:4750) by 0x........: BZ2_bzCompress (origin5-bz2.c:4822) @@ -30,7 +30,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........: mainSort (origin5-bz2.c:2820) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -41,7 +41,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........: mainSort (origin5-bz2.c:2823) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -52,7 +52,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........: mainSort (origin5-bz2.c:2854) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -63,7 +63,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........: mainSort (origin5-bz2.c:2858) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -74,7 +74,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........: mainSort (origin5-bz2.c:2963) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -85,7 +85,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........: mainSort (origin5-bz2.c:2964) by 0x........: BZ2_blockSort (origin5-bz2.c:3105) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -96,7 +96,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) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -107,7 +107,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:2275) by 0x........: BZ2_blockSort (origin5-bz2.c:3116) by 0x........: BZ2_compressBlock (origin5-bz2.c:4034) @@ -120,6 +120,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:...) <truncated beyond 100 lines> ================================================= ./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64 ================================================= --- origin5-bz2.stderr.exp-glibc27-ppc64 2012-05-23 21:39:27.483948632 -0500 +++ origin5-bz2.stderr.out 2012-05-23 22:01:37.176885932 -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........: copy_input_until_stop (origin5-bz2.c:4686) @@ -10,7 +10,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........: copy_input_until_stop (origin5-bz2.c:4686) @@ -19,7 +19,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........: copy_input_until_stop (origin5-bz2.c:4686) @@ -28,7 +28,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) @@ -39,7 +39,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) @@ -50,7 +50,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) @@ -61,7 +61,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) @@ -72,7 +72,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) @@ -83,7 +83,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) @@ -94,7 +94,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) @@ -105,7 +105,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> |
|
From: Tom H. <to...@co...> - 2012-05-24 02:46:56
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-05-24 02:51:15 BST Ended at 2012-05-24 03:46:27 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 618 tests, 4 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) |
|
From: Lionel C. <lio...@go...> - 2012-05-24 02:33:43
|
On Thu, Sep 8, 2011 at 10:57 PM, Petr Pavlu <se...@da...> wrote: > Hello, > > I would like to inform the list that I started working on a port > of Valgrind to Solaris OS. The port aims at x86 architecture and > recent Solaris versions (i.e. SunOS 5.11 kernel). Code lives > at [1] but it currently doesn't do much. I'm sending this email > to make sure nobody already works on it. > > [1] https://bitbucket.org/setupji/valgrind-solaris Petr, what's the current status of valgrind on solaris? Is both 32bit and 64bit x86 supported? Are you going to support SPARC64? Lionel |
|
From: Christian B. <bor...@de...> - 2012-05-24 02:11:47
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.20.0.20100122-0.7.9 C library: GNU C Library stable release version 2.11.1 (20100118) uname -mrs: Linux 2.6.32.54-0.3-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP1 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-05-24 03:45:01 CEST Ended at 2012-05-24 04:11:32 CEST 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 == 536 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) |
|
From: Tom H. <to...@co...> - 2012-05-24 02:11:21
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.3.4-3.fc16.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-05-24 02:41:15 BST Ended at 2012-05-24 03:10:51 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 618 tests, 10 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) drd/tests/bar_bad (stderr) drd/tests/bar_bad_xml (stderr) drd/tests/pth_cancel_locked (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 618 tests, 11 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) memcheck/tests/str_tester (stderr) drd/tests/bar_bad (stderr) drd/tests/bar_bad_xml (stderr) drd/tests/pth_cancel_locked (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2012-05-24 02:55:42.744761230 +0100 --- new.short 2012-05-24 03:10:51.935451394 +0100 *************** *** 8,11 **** ! == 618 tests, 11 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == ! gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) --- 8,10 ---- ! == 618 tests, 10 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderr) |
|
From: Christian B. <bor...@de...> - 2012-05-24 02:03:42
|
valgrind revision: 12579 VEX revision: 2346 C compiler: gcc (GCC) 4.5.3 20110121 (Red Hat 4.5.3-5) Assembler: GNU assembler version 2.20.51.0.7-4bb6.fc13 20100318 C library: GNU C Library stable release version 2.12.1 uname -mrs: Linux 3.3.4-53.x.20120504-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 13/14/15 mix with gcc 3.5.3 on z196 (s390x) ) Started at 2012-05-24 03:45:01 CEST Ended at 2012-05-24 04:03:52 CEST 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 == 535 tests, 8 stderr failures, 0 stdout failures, 1 stderrB failure, 1 stdoutB failure, 0 post failures == gdbserver_tests/mcinvokeWS (stdoutB) gdbserver_tests/mcinvokeWS (stderrB) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) drd/tests/circular_buffer (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc21_pthonce (stderr) |
|
From: <sv...@va...> - 2012-05-24 00:09:35
|
sewardj 2012-05-24 01:09:27 +0100 (Thu, 24 May 2012)
New Revision: 2346
Log:
Implement VPACKUWSB = VEX.NDS.128.66.0F.WIG 67 /r
Modified files:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c (+12 -0)
===================================================================
--- trunk/priv/guest_amd64_toIR.c 2012-05-24 00:54:30 -23:00 (rev 2345)
+++ trunk/priv/guest_amd64_toIR.c 2012-05-24 01:09:27 +01:00 (rev 2346)
@@ -20384,6 +20384,18 @@
}
break;
+ case 0x67:
+ /* VPACKUSWB r/m, rV, r ::: r = QNarrowBin16Sto8Ux16(rV, r/m) */
+ /* VPACKUWSB = VEX.NDS.128.66.0F.WIG 67 /r */
+ if (have66noF2noF3(pfx) && 0==getVexL(pfx)/*128*/) {
+ delta = dis_VEX_NDS_128_AnySimdPfx_0F_WIG(
+ uses_vvvv, vbi, pfx, delta, "vpackuswb",
+ Iop_QNarrowBin16Sto8Ux16, NULL,
+ False/*!invertLeftArg*/, True/*swapArgs*/ );
+ goto decode_success;
+ }
+ break;
+
case 0x68:
/* VPUNPCKHBW r/m, rV, r ::: r = interleave-hi-bytes(rV, r/m)
(MVR format) */
|