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
(3) |
2
|
3
(5) |
4
(9) |
5
(4) |
6
|
|
7
(1) |
8
(8) |
9
(8) |
10
(12) |
11
(12) |
12
(10) |
13
(4) |
|
14
(8) |
15
(9) |
16
(16) |
17
(12) |
18
(5) |
19
(5) |
20
(5) |
|
21
|
22
(13) |
23
(5) |
24
(13) |
25
(1) |
26
(3) |
27
(3) |
|
28
|
29
(1) |
30
(3) |
31
(9) |
|
|
|
|
From: Aaron S. <acs...@li...> - 2017-05-11 21:44:37
|
Hello all,
I've been working with Carl Love to try to get valgrind up and
functional on power9. The issue I've been seeing is a bl that is not
being followed. I'm hoping someone can help me with where to look to
see at what point valgrind is choosing the wrong execution path --
basically I need some help knowing where to look in the internal data
structures.
Here's a description of the situation where it is going awry. The code
looks like this:
81b38: a6 02 08 7c mflr r0
81b3c: e0 ff 81 fb std r28,-32(r1)
81b40: e8 ff a1 fb std r29,-24(r1)
81b44: f0 ff c1 fb std r30,-16(r1)
81b48: f8 ff e1 fb std r31,-8(r1)
81b4c: 78 23 9e 7c mr r30,r4
81b50: ff ff 80 38 li r4,-1
81b54: 00 00 e0 38 li r7,0
81b58: 78 1b 7c 7c mr r28,r3
81b5c: 78 2b bd 7c mr r29,r5
81b60: 00 00 20 39 li r9,0
81b64: 00 00 c0 38 li r6,0
81b68: ff ff a0 38 li r5,-1
81b6c: 20 04 84 54 rlwinm r4,r4,0,16,16
81b70: 10 00 01 f8 std r0,16(r1)
81b74: d1 fe 21 f8 stdu r1,-304(r1)
81b78: 20 00 e1 3b addi r31,r1,32
81b7c: a8 00 21 f9 std r9,168(r1)
81b80: 78 fb e3 7f mr r3,r31
81b84: 15 2c 01 48 bl 94798
<_IO_default_doallocate@@GLIBC_2.17+0x158>
81b88: 00 00 00 60 nop
81b8c: ff ff 22 3d addis r9,r2,-1
81b90: 78 e3 84 7f mr r4,r28
81b94: 78 fb e3 7f mr r3,r31
81b98: 00 00 c0 38 li r6,0
81b9c: 00 00 a0 38 li r5,0
81ba0: a8 5a 29 39 addi r9,r9,23208
81ba4: f8 00 21 f9 std r9,248(r1)
81ba8: 81 4f 01 48 bl 96b28
<_IO_str_pbackfail@@GLIBC_2.17+0xf8>
At the end of the first block we see this
0x6CF1B80: mr r3,r31
------ IMark(0x6CF1B80, 4, 0) ------
t54 = GET:I64(264)
t56 = GET:I64(264)
t55 = t54
PUT(40) = t55
PUT(1296) = 0x6CF1B84:I64
0x6CF1B84: bl 0x6D04798
------ IMark(0x6CF1B84, 4, 0) ------
PUT(1304) = 0x6CF1B88:I64
t61 = 0x6D04798:I64
====== AbiHint(Sub64(GET:I64(24),0x120:I64), 288, t61)
======
PUT(1296) = 0x6D04798:I64
PUT(1296) = GET:I64(1296); exit-Call
Where 0x6D04798 is the correct address we should branch-and-link to.
At the end of the generated code there is this:
(xDirect) if (always) { imm64 r30,0x6D04798; std r30,1296(%r31); imm64-
fixed5 r30,$disp_cp_chain_me_to_fastEP; mtctr r30; bctrl }
D0 06 C0 3F 98 47 DE 63 10 05 DF FB 00 00 C0 3F 00 00 DE 63 C6 07 DE 7B
0A 38 DE 67 DC 1D DE 63 A6 03 C9 7F 21 04 80 4E
But the very next block is the code following the bl at 0x6CF1B88, not
the code at 0x6D04798:
==== SB 8420 (evchecks 3471236) [tid 1] 0x6cf1b88
vsscanf@@GLIBC_2.17+88 /opt/at10.0-4-beta1/lib64/power9/libc-
2.24.so+0x81b88
------------------------ Front end ------------------------
0x6CF1B88: ori r0,r0,0x0
------ IMark(0x6CF1B88, 4, 0) ------
t0 = GET:I64(16)
t2 = GET:I64(16)
t1 = Or64(t0,0x0:I64)
PUT(16) = t1
PUT(1296) = 0x6CF1B8C:I64
0x6CF1B8C: addis r9,r2,0xFFFFFFFF
------ IMark(0x6CF1B8C, 4, 0) ------
t3 = GET:I64(32)
t4 = GET:I64(264)
t5 = Add64(t3,0xFFFFFFFFFFFF0000:I64)
PUT(88) = t5
PUT(1296) = 0x6CF1B90:I64
Thanks,
Aaron
--
Aaron Sawdey, Ph.D. acs...@li...
050-2/C113 (507) 253-7520 home: 507/263-0782
IBM Linux Technology Center - PPC Toolchain
--
Aaron Sawdey, Ph.D. acs...@li...
050-2/C113 (507) 253-7520 home: 507/263-0782
IBM Linux Technology Center - PPC Toolchain
|
|
From: <sv...@va...> - 2017-05-11 17:00:24
|
Author: iraisr
Date: Thu May 11 18:00:17 2017
New Revision: 16364
Log:
Fix a problem when reading .valgrindrc and it is a directory instead of a file.
Fixes BZ#362223.
Modified:
trunk/NEWS
trunk/coregrind/m_commandline.c
trunk/docs/xml/manual-core.xml
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu May 11 18:00:17 2017
@@ -112,6 +112,7 @@
358697 valgrind.h: Some code remains even when defining NVALGRIND
359202 Add musl libc configure/compile
360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)
+362223 assertion failed when .valgrindrc is a directory instead of a file
367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)
368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)
368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp)
Modified: trunk/coregrind/m_commandline.c
==============================================================================
--- trunk/coregrind/m_commandline.c (original)
+++ trunk/coregrind/m_commandline.c Thu May 11 18:00:17 2017
@@ -55,8 +55,6 @@
static HChar* read_dot_valgrindrc ( const HChar* dir )
{
- Int n;
- SysRes fd;
struct vg_stat stat_buf;
HChar* f_clo = NULL;
const HChar dot_valgrindrc[] = ".valgrindrc";
@@ -66,15 +64,18 @@
HChar filename[VG_(strlen)(dir) + 1 + VG_(strlen)(dot_valgrindrc) + 1];
VG_(sprintf)(filename, "%s/%s", dir, dot_valgrindrc);
- fd = VG_(open)(filename, 0, VKI_S_IRUSR);
+ SysRes fd = VG_(open)(filename, 0, VKI_S_IRUSR);
if ( !sr_isError(fd) ) {
Int res = VG_(fstat)( sr_Res(fd), &stat_buf );
- // Ignore if not owned by current user or world writeable (CVE-2008-4865)
- if (!res && stat_buf.uid == VG_(geteuid)()
- && (!(stat_buf.mode & VKI_S_IWOTH))) {
+ /* Ignore if not owned by the current user, or is not a regular file,
+ or is world writeable (CVE-2008-4865). */
+ if (res == 0
+ && stat_buf.uid == VG_(geteuid)()
+ && (stat_buf.mode & VKI_S_IFREG)
+ && !(stat_buf.mode & VKI_S_IWOTH)) {
if ( stat_buf.size > 0 ) {
f_clo = VG_(malloc)("commandline.rdv.1", stat_buf.size+1);
- n = VG_(read)(sr_Res(fd), f_clo, stat_buf.size);
+ Int n = VG_(read)(sr_Res(fd), f_clo, stat_buf.size);
if (n == -1) n = 0;
vg_assert(n >= 0 && n <= stat_buf.size+1);
f_clo[n] = '\0';
@@ -82,8 +83,9 @@
}
else
VG_(message)(Vg_UserMsg,
- "%s was not read as it is either world writeable or not "
- "owned by the current user\n", filename);
+ "%s was not read as it is either not a regular file,\n"
+ " or is world writeable, or is not owned by the current user.\n",
+ filename);
VG_(close)(sr_Res(fd));
}
Modified: trunk/docs/xml/manual-core.xml
==============================================================================
--- trunk/docs/xml/manual-core.xml (original)
+++ trunk/docs/xml/manual-core.xml Thu May 11 18:00:17 2017
@@ -2567,8 +2567,8 @@
</para>
<para>Please note that the <computeroutput>./.valgrindrc</computeroutput>
-file is ignored if it is marked as world writeable or not owned
-by the current user. This is because the
+file is ignored if it is not a regular file, or is marked as world writeable,
+or is not owned by the current user. This is because the
<computeroutput>./.valgrindrc</computeroutput> can contain options that are
potentially harmful or can be used by a local attacker to execute code under
your user account.
|
Author: petarj
Date: Thu May 11 17:59:33 2017
New Revision: 16363
Log:
mips32: improve none/tests/mips32/MIPS32int
- Invalid memory access fixed;
- Inappropriate immediate value on ROTR test changed;
- Stricter tests for LWL/LWR instructions.
Patch by Aleksandar Rikalo.
Modified:
trunk/none/tests/mips32/MIPS32int.c
trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-BE
trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-LE
trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-BE
trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-LE
Modified: trunk/none/tests/mips32/MIPS32int.c
==============================================================================
--- trunk/none/tests/mips32/MIPS32int.c (original)
+++ trunk/none/tests/mips32/MIPS32int.c Thu May 11 17:59:33 2017
@@ -101,9 +101,9 @@
instruction "\n\t" \
"move %0, $" #RT "\n\t" \
: "=&r" (out) \
- : "r" (mem), "r" (RTval) \
- : #RT, "cc", "memory" \
- ); \
+ : "r" (mem), "r" (RTval) \
+ : #RT, "cc", "memory" \
+ ); \
printf("%s :: rt 0x%08x\n", \
instruction, out); \
}
@@ -120,9 +120,9 @@
"mfhi %0\n\t" \
"mflo %1\n\t" \
: "=&r" (HI), "=&r" (LO) \
- : "r" (RSval)\
- : "cc", "memory" \
- ); \
+ : "r" (RSval) \
+ : "cc", "memory" \
+ ); \
printf("mfhi mflo :: HI: 0x%x, LO: 0x%x\n", \
HI, LO); \
}
@@ -662,7 +662,7 @@
TESTINSN5LOAD("lb $t0, 52($t1)", 0, 52, t0);
TESTINSN5LOAD("lb $t0, 56($t1)", 0, 56, t0);
TESTINSN5LOAD("lb $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lb $t0, 64($t1)", 0, 64, t0);
+ TESTINSN5LOAD("lb $t0, 1($t1)", 0, 1, t0);
TESTINSN5LOAD("lb $t0, 2($t1)", 0, 2, t0);
TESTINSN5LOAD("lb $t0, 6($t1)", 0, 6, t0);
TESTINSN5LOAD("lb $t0, 10($t1)", 0, 10, t0);
@@ -691,7 +691,7 @@
TESTINSN5LOAD("lbu $t0, 52($t1)", 0, 52, t0);
TESTINSN5LOAD("lbu $t0, 56($t1)", 0, 56, t0);
TESTINSN5LOAD("lbu $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lbu $t0, 64($t1)", 0, 64, t0);
+ TESTINSN5LOAD("lbu $t0, 1($t1)", 0, 1, t0);
TESTINSN5LOAD("lbu $t0, 2($t1)", 0, 2, t0);
TESTINSN5LOAD("lbu $t0, 6($t1)", 0, 6, t0);
TESTINSN5LOAD("lbu $t0, 10($t1)", 0, 10, t0);
@@ -720,7 +720,7 @@
TESTINSN5LOAD("lh $t0, 52($t1)", 0, 52, t0);
TESTINSN5LOAD("lh $t0, 56($t1)", 0, 56, t0);
TESTINSN5LOAD("lh $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lh $t0, 64($t1)", 0, 64, t0);
+ TESTINSN5LOAD("lh $t0, 62($t1)", 0, 62, t0);
TESTINSN5LOAD("lh $t0, 2($t1)", 0, 2, t0);
TESTINSN5LOAD("lh $t0, 6($t1)", 0, 6, t0);
TESTINSN5LOAD("lh $t0, 10($t1)", 0, 10, t0);
@@ -749,7 +749,7 @@
TESTINSN5LOAD("lhu $t0, 52($t1)", 0, 52, t0);
TESTINSN5LOAD("lhu $t0, 56($t1)", 0, 56, t0);
TESTINSN5LOAD("lhu $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lhu $t0, 64($t1)", 0, 64, t0);
+ TESTINSN5LOAD("lhu $t0, 62($t1)", 0, 62, t0);
TESTINSN5LOAD("lhu $t0, 2($t1)", 0, 2, t0);
TESTINSN5LOAD("lhu $t0, 6($t1)", 0, 6, t0);
TESTINSN5LOAD("lhu $t0, 10($t1)", 0, 10, t0);
@@ -786,7 +786,6 @@
TESTINSN5LOAD("lw $t0, 52($t1)", 0, 52, t0);
TESTINSN5LOAD("lw $t0, 56($t1)", 0, 56, t0);
TESTINSN5LOAD("lw $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lw $t0, 64($t1)", 0, 64, t0);
TESTINSN5LOAD("lw $t0, 2($t1)", 0, 2, t0);
TESTINSN5LOAD("lw $t0, 6($t1)", 0, 6, t0);
TESTINSN5LOAD("lw $t0, 10($t1)", 0, 10, t0);
@@ -799,62 +798,48 @@
TESTINSN5LOAD("lw $t0, 38($t1)", 0, 38, t0);
printf("LWL\n");
- TESTINSN5LOAD("lwl $t0, 0($t1)", 0, 0, t0);
- TESTINSN5LOAD("lwl $t0, 4($t1)", 0, 4, t0);
- TESTINSN5LOAD("lwl $t0, 8($t1)", 0, 8, t0);
+ TESTINSN5LOAD("lwl $t0, 3($t1)", 0, 3, t0);
+ TESTINSN5LOAD("lwl $t0, 6($t1)", 0, 6, t0);
+ TESTINSN5LOAD("lwl $t0, 9($t1)", 0, 9, t0);
TESTINSN5LOAD("lwl $t0, 12($t1)", 0, 12, t0);
- TESTINSN5LOAD("lwl $t0, 16($t1)", 0, 16, t0);
- TESTINSN5LOAD("lwl $t0, 20($t1)", 0, 20, t0);
+ TESTINSN5LOAD("lwl $t0, 15($t1)", 0, 15, t0);
+ TESTINSN5LOAD("lwl $t0, 18($t1)", 0, 18, t0);
+ TESTINSN5LOAD("lwl $t0, 21($t1)", 0, 21, t0);
TESTINSN5LOAD("lwl $t0, 24($t1)", 0, 24, t0);
- TESTINSN5LOAD("lwl $t0, 28($t1)", 0, 28, t0);
- TESTINSN5LOAD("lwl $t0, 32($t1)", 0, 32, t0);
+ TESTINSN5LOAD("lwl $t0, 27($t1)", 0, 27, t0);
+ TESTINSN5LOAD("lwl $t0, 30($t1)", 0, 30, t0);
+ TESTINSN5LOAD("lwl $t0, 33($t1)", 0, 33, t0);
TESTINSN5LOAD("lwl $t0, 36($t1)", 0, 36, t0);
- TESTINSN5LOAD("lwl $t0, 40($t1)", 0, 40, t0);
- TESTINSN5LOAD("lwl $t0, 44($t1)", 0, 44, t0);
+ TESTINSN5LOAD("lwl $t0, 39($t1)", 0, 39, t0);
+ TESTINSN5LOAD("lwl $t0, 42($t1)", 0, 42, t0);
+ TESTINSN5LOAD("lwl $t0, 45($t1)", 0, 45, t0);
TESTINSN5LOAD("lwl $t0, 48($t1)", 0, 48, t0);
- TESTINSN5LOAD("lwl $t0, 52($t1)", 0, 52, t0);
- TESTINSN5LOAD("lwl $t0, 56($t1)", 0, 56, t0);
+ TESTINSN5LOAD("lwl $t0, 51($t1)", 0, 51, t0);
+ TESTINSN5LOAD("lwl $t0, 54($t1)", 0, 54, t0);
+ TESTINSN5LOAD("lwl $t0, 57($t1)", 0, 57, t0);
TESTINSN5LOAD("lwl $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lwl $t0, 64($t1)", 0, 64, t0);
- TESTINSN5LOAD("lwl $t0, 2($t1)", 0, 2, t0);
- TESTINSN5LOAD("lwl $t0, 6($t1)", 0, 6, t0);
- TESTINSN5LOAD("lwl $t0, 10($t1)", 0, 10, t0);
- TESTINSN5LOAD("lwl $t0, 14($t1)", 0, 14, t0);
- TESTINSN5LOAD("lwl $t0, 18($t1)", 0, 18, t0);
- TESTINSN5LOAD("lwl $t0, 22($t1)", 0, 22, t0);
- TESTINSN5LOAD("lwl $t0, 26($t1)", 0, 26, t0);
- TESTINSN5LOAD("lwl $t0, 30($t1)", 0, 30, t0);
- TESTINSN5LOAD("lwl $t0, 34($t1)", 0, 34, t0);
- TESTINSN5LOAD("lwl $t0, 38($t1)", 0, 38, t0);
printf("LWR\n");
- TESTINSN5LOAD("lwr $t0, 0($t1)", 0, 0, t0);
- TESTINSN5LOAD("lwr $t0, 4($t1)", 0, 4, t0);
- TESTINSN5LOAD("lwr $t0, 8($t1)", 0, 8, t0);
+ TESTINSN5LOAD("lwr $t0, 3($t1)", 0, 0, t0);
+ TESTINSN5LOAD("lwr $t0, 6($t1)", 0, 4, t0);
+ TESTINSN5LOAD("lwr $t0, 9($t1)", 0, 8, t0);
TESTINSN5LOAD("lwr $t0, 12($t1)", 0, 12, t0);
- TESTINSN5LOAD("lwr $t0, 16($t1)", 0, 16, t0);
- TESTINSN5LOAD("lwr $t0, 20($t1)", 0, 20, t0);
- TESTINSN5LOAD("lwr $t0, 24($t1)", 0, 24, t0);
- TESTINSN5LOAD("lwr $t0, 28($t1)", 0, 28, t0);
- TESTINSN5LOAD("lwr $t0, 32($t1)", 0, 32, t0);
- TESTINSN5LOAD("lwr $t0, 36($t1)", 0, 36, t0);
- TESTINSN5LOAD("lwr $t0, 40($t1)", 0, 40, t0);
- TESTINSN5LOAD("lwr $t0, 44($t1)", 0, 44, t0);
- TESTINSN5LOAD("lwr $t0, 48($t1)", 0, 48, t0);
- TESTINSN5LOAD("lwr $t0, 52($t1)", 0, 52, t0);
- TESTINSN5LOAD("lwr $t0, 56($t1)", 0, 56, t0);
- TESTINSN5LOAD("lwr $t0, 60($t1)", 0, 60, t0);
- TESTINSN5LOAD("lwr $t0, 64($t1)", 0, 64, t0);
- TESTINSN5LOAD("lwr $t0, 2($t1)", 0, 2, t0);
- TESTINSN5LOAD("lwr $t0, 6($t1)", 0, 6, t0);
- TESTINSN5LOAD("lwr $t0, 10($t1)", 0, 10, t0);
- TESTINSN5LOAD("lwr $t0, 14($t1)", 0, 14, t0);
- TESTINSN5LOAD("lwr $t0, 18($t1)", 0, 18, t0);
- TESTINSN5LOAD("lwr $t0, 22($t1)", 0, 22, t0);
- TESTINSN5LOAD("lwr $t0, 26($t1)", 0, 26, t0);
- TESTINSN5LOAD("lwr $t0, 30($t1)", 0, 30, t0);
- TESTINSN5LOAD("lwr $t0, 34($t1)", 0, 34, t0);
- TESTINSN5LOAD("lwr $t0, 38($t1)", 0, 38, t0);
+ TESTINSN5LOAD("lwr $t0, 15($t1)", 0, 16, t0);
+ TESTINSN5LOAD("lwr $t0, 18($t1)", 0, 20, t0);
+ TESTINSN5LOAD("lwr $t0, 21($t1)", 0, 24, t0);
+ TESTINSN5LOAD("lwr $t0, 24($t1)", 0, 28, t0);
+ TESTINSN5LOAD("lwr $t0, 27($t1)", 0, 32, t0);
+ TESTINSN5LOAD("lwr $t0, 30($t1)", 0, 36, t0);
+ TESTINSN5LOAD("lwr $t0, 33($t1)", 0, 40, t0);
+ TESTINSN5LOAD("lwr $t0, 36($t1)", 0, 44, t0);
+ TESTINSN5LOAD("lwr $t0, 39($t1)", 0, 48, t0);
+ TESTINSN5LOAD("lwr $t0, 42($t1)", 0, 52, t0);
+ TESTINSN5LOAD("lwr $t0, 45($t1)", 0, 56, t0);
+ TESTINSN5LOAD("lwr $t0, 48($t1)", 0, 60, t0);
+ TESTINSN5LOAD("lwr $t0, 51($t1)", 0, 64, t0);
+ TESTINSN5LOAD("lwr $t0, 54($t1)", 0, 2, t0);
+ TESTINSN5LOAD("lwr $t0, 57($t1)", 0, 6, t0);
+ TESTINSN5LOAD("lwr $t0, 60($t1)", 0, 10, t0);
printf("MADD\n");
TESTINST3a("madd $t0, $t1", 0x6, 0x2, t0, t1);
@@ -1211,8 +1196,8 @@
TESTINST2("rotr $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
TESTINST2("rotr $t0, $t1, 0x00000010", 0x31415927, 0x00000010, t0, t1);
TESTINST2("rotr $t0, $t1, 0x0000001F", 0x31415927, 0x0000001F, t0, t1);
- TESTINST2("rotr $t0, $t1, 0x00000020", 0x31415927, 0x00000020, t0, t1);
- TESTINST2("rotr $t0, $t1, 0x00000021", 0x31415927, 0x00000021, t0, t1);
+ TESTINST2("rotr $t0, $t1, 0x0000001A", 0x31415927, 0x0000001A, t0, t1);
+ TESTINST2("rotr $t0, $t1, 0x00000007", 0x31415927, 0x00000007, t0, t1);
TESTINST2("rotr $t0, $t1, 0x00000000", 0x00088000, 0x00000000, t0, t1);
TESTINST2("rotr $t0, $t1, 0x00000001", 0x00088000, 0x00000001, t0, t1);
TESTINST2("rotr $t0, $t1, 31", 0x00088000, 31, t0, t1);
@@ -1220,7 +1205,7 @@
TESTINST2("rotr $t0, $t1, 17", 0x00010000, 17, t0, t1);
TESTINST2("rotr $t0, $t1, 18", 0x00010000, 18, t0, t1);
TESTINST2("rotr $t0, $t1, 0", 0, 0, t0, t1);
- TESTINST2("rotr $t0, $t1, 0xffff", 0xffff, 0xffff, t0, t1);
+ TESTINST2("rotr $t0, $t1, 0x1F", 0xFFFF, 0x1F, t0, t1);
#endif
#if (__mips==32) && (__mips_isa_rev>=2)
Modified: trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-BE
==============================================================================
--- trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-BE (original)
+++ trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-BE Thu May 11 17:59:33 2017
@@ -125,7 +125,7 @@
lb $t0, 52($t1) :: rt 0x0000004e
lb $t0, 56($t1) :: rt 0x00000047
lb $t0, 60($t1) :: rt 0x0000004a
-lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 1($t1) :: rt 0x0000001f
lb $t0, 2($t1) :: rt 0x0000001e
lb $t0, 6($t1) :: rt 0x00000000
lb $t0, 10($t1) :: rt 0x00000000
@@ -153,7 +153,7 @@
lbu $t0, 52($t1) :: rt 0x0000004e
lbu $t0, 56($t1) :: rt 0x00000047
lbu $t0, 60($t1) :: rt 0x0000004a
-lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 1($t1) :: rt 0x0000001f
lbu $t0, 2($t1) :: rt 0x0000001e
lbu $t0, 6($t1) :: rt 0x00000000
lbu $t0, 10($t1) :: rt 0x00000000
@@ -181,7 +181,7 @@
lh $t0, 52($t1) :: rt 0x00004e46
lh $t0, 56($t1) :: rt 0x0000474d
lh $t0, 60($t1) :: rt 0x00004a48
-lh $t0, 64($t1) :: rt 0x00004144
+lh $t0, 62($t1) :: rt 0x00004a4c
lh $t0, 2($t1) :: rt 0x00001e1f
lh $t0, 6($t1) :: rt 0x00000000
lh $t0, 10($t1) :: rt 0x00000003
@@ -209,7 +209,7 @@
lhu $t0, 52($t1) :: rt 0x00004e46
lhu $t0, 56($t1) :: rt 0x0000474d
lhu $t0, 60($t1) :: rt 0x00004a48
-lhu $t0, 64($t1) :: rt 0x00004144
+lhu $t0, 62($t1) :: rt 0x00004a4c
lhu $t0, 2($t1) :: rt 0x00001e1f
lhu $t0, 6($t1) :: rt 0x00000000
lhu $t0, 10($t1) :: rt 0x00000003
@@ -244,7 +244,6 @@
lw $t0, 52($t1) :: rt 0x4e464d46
lw $t0, 56($t1) :: rt 0x474d474c
lw $t0, 60($t1) :: rt 0x4a484a4c
-lw $t0, 64($t1) :: rt 0x41444400
lw $t0, 2($t1) :: rt 0x1e1f0000
lw $t0, 6($t1) :: rt 0x00000000
lw $t0, 10($t1) :: rt 0x0003ffff
@@ -256,61 +255,47 @@
lw $t0, 34($t1) :: rt 0x3f3e3e35
lw $t0, 38($t1) :: rt 0x3d3c363a
LWL
-lwl $t0, 0($t1) :: rt 0x121f1e1f
-lwl $t0, 4($t1) :: rt 0x00000000
-lwl $t0, 8($t1) :: rt 0x00000003
+lwl $t0, 3($t1) :: rt 0x1f000000
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 9($t1) :: rt 0x00000300
lwl $t0, 12($t1) :: rt 0xffffffff
-lwl $t0, 16($t1) :: rt 0x232f2e2f
-lwl $t0, 20($t1) :: rt 0x242c2b2b
+lwl $t0, 15($t1) :: rt 0xff000000
+lwl $t0, 18($t1) :: rt 0x2e2f0000
+lwl $t0, 21($t1) :: rt 0x2c2b2b00
lwl $t0, 24($t1) :: rt 0x252a2e2b
-lwl $t0, 28($t1) :: rt 0x262d2d2a
-lwl $t0, 32($t1) :: rt 0x3f343f3e
+lwl $t0, 27($t1) :: rt 0x2b000000
+lwl $t0, 30($t1) :: rt 0x2d2a0000
+lwl $t0, 33($t1) :: rt 0x343f3e00
lwl $t0, 36($t1) :: rt 0x3e353d3c
-lwl $t0, 40($t1) :: rt 0x363a3c3b
-lwl $t0, 44($t1) :: rt 0x3b373b3a
+lwl $t0, 39($t1) :: rt 0x3c000000
+lwl $t0, 42($t1) :: rt 0x3c3b0000
+lwl $t0, 45($t1) :: rt 0x373b3a00
lwl $t0, 48($t1) :: rt 0x454f4e45
-lwl $t0, 52($t1) :: rt 0x4e464d46
-lwl $t0, 56($t1) :: rt 0x474d474c
+lwl $t0, 51($t1) :: rt 0x45000000
+lwl $t0, 54($t1) :: rt 0x4d460000
+lwl $t0, 57($t1) :: rt 0x4d474c00
lwl $t0, 60($t1) :: rt 0x4a484a4c
-lwl $t0, 64($t1) :: rt 0x41444400
-lwl $t0, 2($t1) :: rt 0x1e1f0000
-lwl $t0, 6($t1) :: rt 0x00000000
-lwl $t0, 10($t1) :: rt 0x00030000
-lwl $t0, 14($t1) :: rt 0xffff0000
-lwl $t0, 18($t1) :: rt 0x2e2f0000
-lwl $t0, 22($t1) :: rt 0x2b2b0000
-lwl $t0, 26($t1) :: rt 0x2e2b0000
-lwl $t0, 30($t1) :: rt 0x2d2a0000
-lwl $t0, 34($t1) :: rt 0x3f3e0000
-lwl $t0, 38($t1) :: rt 0x3d3c0000
LWR
-lwr $t0, 0($t1) :: rt 0x00000012
-lwr $t0, 4($t1) :: rt 0x00000000
-lwr $t0, 8($t1) :: rt 0x00000000
+lwr $t0, 3($t1) :: rt 0x121f1e1f
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 9($t1) :: rt 0x00000000
lwr $t0, 12($t1) :: rt 0x000000ff
-lwr $t0, 16($t1) :: rt 0x00000023
-lwr $t0, 20($t1) :: rt 0x00000024
+lwr $t0, 15($t1) :: rt 0xffffffff
+lwr $t0, 18($t1) :: rt 0x00232f2e
+lwr $t0, 21($t1) :: rt 0x0000242c
lwr $t0, 24($t1) :: rt 0x00000025
-lwr $t0, 28($t1) :: rt 0x00000026
-lwr $t0, 32($t1) :: rt 0x0000003f
+lwr $t0, 27($t1) :: rt 0x252a2e2b
+lwr $t0, 30($t1) :: rt 0x00262d2d
+lwr $t0, 33($t1) :: rt 0x00003f34
lwr $t0, 36($t1) :: rt 0x0000003e
-lwr $t0, 40($t1) :: rt 0x00000036
-lwr $t0, 44($t1) :: rt 0x0000003b
+lwr $t0, 39($t1) :: rt 0x3e353d3c
+lwr $t0, 42($t1) :: rt 0x00363a3c
+lwr $t0, 45($t1) :: rt 0x00003b37
lwr $t0, 48($t1) :: rt 0x00000045
-lwr $t0, 52($t1) :: rt 0x0000004e
-lwr $t0, 56($t1) :: rt 0x00000047
+lwr $t0, 51($t1) :: rt 0x454f4e45
+lwr $t0, 54($t1) :: rt 0x004e464d
+lwr $t0, 57($t1) :: rt 0x0000474d
lwr $t0, 60($t1) :: rt 0x0000004a
-lwr $t0, 64($t1) :: rt 0x00000041
-lwr $t0, 2($t1) :: rt 0x00121f1e
-lwr $t0, 6($t1) :: rt 0x00000000
-lwr $t0, 10($t1) :: rt 0x00000000
-lwr $t0, 14($t1) :: rt 0x00ffffff
-lwr $t0, 18($t1) :: rt 0x00232f2e
-lwr $t0, 22($t1) :: rt 0x00242c2b
-lwr $t0, 26($t1) :: rt 0x00252a2e
-lwr $t0, 30($t1) :: rt 0x00262d2d
-lwr $t0, 34($t1) :: rt 0x003f343f
-lwr $t0, 38($t1) :: rt 0x003e353d
MADD
madd $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c
madd $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48
Modified: trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-LE
==============================================================================
--- trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-LE (original)
+++ trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32-LE Thu May 11 17:59:33 2017
@@ -125,7 +125,7 @@
lb $t0, 52($t1) :: rt 0x00000046
lb $t0, 56($t1) :: rt 0x0000004c
lb $t0, 60($t1) :: rt 0x0000004c
-lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 1($t1) :: rt 0x0000001e
lb $t0, 2($t1) :: rt 0x0000001f
lb $t0, 6($t1) :: rt 0x00000000
lb $t0, 10($t1) :: rt 0x00000000
@@ -153,7 +153,7 @@
lbu $t0, 52($t1) :: rt 0x00000046
lbu $t0, 56($t1) :: rt 0x0000004c
lbu $t0, 60($t1) :: rt 0x0000004c
-lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 1($t1) :: rt 0x0000001e
lbu $t0, 2($t1) :: rt 0x0000001f
lbu $t0, 6($t1) :: rt 0x00000000
lbu $t0, 10($t1) :: rt 0x00000000
@@ -181,7 +181,7 @@
lh $t0, 52($t1) :: rt 0x00004d46
lh $t0, 56($t1) :: rt 0x0000474c
lh $t0, 60($t1) :: rt 0x00004a4c
-lh $t0, 64($t1) :: rt 0x00004441
+lh $t0, 62($t1) :: rt 0x00004a48
lh $t0, 2($t1) :: rt 0x0000121f
lh $t0, 6($t1) :: rt 0x00000000
lh $t0, 10($t1) :: rt 0x00000000
@@ -209,7 +209,7 @@
lhu $t0, 52($t1) :: rt 0x00004d46
lhu $t0, 56($t1) :: rt 0x0000474c
lhu $t0, 60($t1) :: rt 0x00004a4c
-lhu $t0, 64($t1) :: rt 0x00004441
+lhu $t0, 62($t1) :: rt 0x00004a48
lhu $t0, 2($t1) :: rt 0x0000121f
lhu $t0, 6($t1) :: rt 0x00000000
lhu $t0, 10($t1) :: rt 0x00000000
@@ -244,7 +244,6 @@
lw $t0, 52($t1) :: rt 0x4e464d46
lw $t0, 56($t1) :: rt 0x474d474c
lw $t0, 60($t1) :: rt 0x4a484a4c
-lw $t0, 64($t1) :: rt 0x00444441
lw $t0, 2($t1) :: rt 0x0000121f
lw $t0, 6($t1) :: rt 0x00030000
lw $t0, 10($t1) :: rt 0xffff0000
@@ -256,61 +255,47 @@
lw $t0, 34($t1) :: rt 0x3d3c3f34
lw $t0, 38($t1) :: rt 0x3c3b3e35
LWL
-lwl $t0, 0($t1) :: rt 0x1f000000
-lwl $t0, 4($t1) :: rt 0x00000000
-lwl $t0, 8($t1) :: rt 0x03000000
+lwl $t0, 3($t1) :: rt 0x121f1e1f
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 9($t1) :: rt 0x00030000
lwl $t0, 12($t1) :: rt 0xff000000
-lwl $t0, 16($t1) :: rt 0x2f000000
-lwl $t0, 20($t1) :: rt 0x2b000000
+lwl $t0, 15($t1) :: rt 0xffffffff
+lwl $t0, 18($t1) :: rt 0x2f2e2f00
+lwl $t0, 21($t1) :: rt 0x2b2b0000
lwl $t0, 24($t1) :: rt 0x2b000000
-lwl $t0, 28($t1) :: rt 0x2a000000
-lwl $t0, 32($t1) :: rt 0x3e000000
+lwl $t0, 27($t1) :: rt 0x252a2e2b
+lwl $t0, 30($t1) :: rt 0x2d2d2a00
+lwl $t0, 33($t1) :: rt 0x3f3e0000
lwl $t0, 36($t1) :: rt 0x3c000000
-lwl $t0, 40($t1) :: rt 0x3b000000
-lwl $t0, 44($t1) :: rt 0x3a000000
+lwl $t0, 39($t1) :: rt 0x3e353d3c
+lwl $t0, 42($t1) :: rt 0x3a3c3b00
+lwl $t0, 45($t1) :: rt 0x3b3a0000
lwl $t0, 48($t1) :: rt 0x45000000
-lwl $t0, 52($t1) :: rt 0x46000000
-lwl $t0, 56($t1) :: rt 0x4c000000
+lwl $t0, 51($t1) :: rt 0x454f4e45
+lwl $t0, 54($t1) :: rt 0x464d4600
+lwl $t0, 57($t1) :: rt 0x474c0000
lwl $t0, 60($t1) :: rt 0x4c000000
-lwl $t0, 64($t1) :: rt 0x41000000
-lwl $t0, 2($t1) :: rt 0x1f1e1f00
-lwl $t0, 6($t1) :: rt 0x00000000
-lwl $t0, 10($t1) :: rt 0x00000300
-lwl $t0, 14($t1) :: rt 0xffffff00
-lwl $t0, 18($t1) :: rt 0x2f2e2f00
-lwl $t0, 22($t1) :: rt 0x2c2b2b00
-lwl $t0, 26($t1) :: rt 0x2a2e2b00
-lwl $t0, 30($t1) :: rt 0x2d2d2a00
-lwl $t0, 34($t1) :: rt 0x343f3e00
-lwl $t0, 38($t1) :: rt 0x353d3c00
LWR
-lwr $t0, 0($t1) :: rt 0x121f1e1f
-lwr $t0, 4($t1) :: rt 0x00000000
-lwr $t0, 8($t1) :: rt 0x00000003
+lwr $t0, 3($t1) :: rt 0x00000012
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 9($t1) :: rt 0x00000000
lwr $t0, 12($t1) :: rt 0xffffffff
-lwr $t0, 16($t1) :: rt 0x232f2e2f
-lwr $t0, 20($t1) :: rt 0x242c2b2b
+lwr $t0, 15($t1) :: rt 0x000000ff
+lwr $t0, 18($t1) :: rt 0x0000232f
+lwr $t0, 21($t1) :: rt 0x00242c2b
lwr $t0, 24($t1) :: rt 0x252a2e2b
-lwr $t0, 28($t1) :: rt 0x262d2d2a
-lwr $t0, 32($t1) :: rt 0x3f343f3e
+lwr $t0, 27($t1) :: rt 0x00000025
+lwr $t0, 30($t1) :: rt 0x0000262d
+lwr $t0, 33($t1) :: rt 0x003f343f
lwr $t0, 36($t1) :: rt 0x3e353d3c
-lwr $t0, 40($t1) :: rt 0x363a3c3b
-lwr $t0, 44($t1) :: rt 0x3b373b3a
+lwr $t0, 39($t1) :: rt 0x0000003e
+lwr $t0, 42($t1) :: rt 0x0000363a
+lwr $t0, 45($t1) :: rt 0x003b373b
lwr $t0, 48($t1) :: rt 0x454f4e45
-lwr $t0, 52($t1) :: rt 0x4e464d46
-lwr $t0, 56($t1) :: rt 0x474d474c
+lwr $t0, 51($t1) :: rt 0x00000045
+lwr $t0, 54($t1) :: rt 0x00004e46
+lwr $t0, 57($t1) :: rt 0x00474d47
lwr $t0, 60($t1) :: rt 0x4a484a4c
-lwr $t0, 64($t1) :: rt 0x00444441
-lwr $t0, 2($t1) :: rt 0x0000121f
-lwr $t0, 6($t1) :: rt 0x00000000
-lwr $t0, 10($t1) :: rt 0x00000000
-lwr $t0, 14($t1) :: rt 0x0000ffff
-lwr $t0, 18($t1) :: rt 0x0000232f
-lwr $t0, 22($t1) :: rt 0x0000242c
-lwr $t0, 26($t1) :: rt 0x0000252a
-lwr $t0, 30($t1) :: rt 0x0000262d
-lwr $t0, 34($t1) :: rt 0x00003f34
-lwr $t0, 38($t1) :: rt 0x00003e35
MADD
madd $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c
madd $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48
Modified: trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-BE
==============================================================================
--- trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-BE (original)
+++ trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-BE Thu May 11 17:59:33 2017
@@ -511,7 +511,7 @@
lb $t0, 52($t1) :: rt 0x0000004e
lb $t0, 56($t1) :: rt 0x00000047
lb $t0, 60($t1) :: rt 0x0000004a
-lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 1($t1) :: rt 0x0000001f
lb $t0, 2($t1) :: rt 0x0000001e
lb $t0, 6($t1) :: rt 0x00000000
lb $t0, 10($t1) :: rt 0x00000000
@@ -539,7 +539,7 @@
lbu $t0, 52($t1) :: rt 0x0000004e
lbu $t0, 56($t1) :: rt 0x00000047
lbu $t0, 60($t1) :: rt 0x0000004a
-lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 1($t1) :: rt 0x0000001f
lbu $t0, 2($t1) :: rt 0x0000001e
lbu $t0, 6($t1) :: rt 0x00000000
lbu $t0, 10($t1) :: rt 0x00000000
@@ -567,7 +567,7 @@
lh $t0, 52($t1) :: rt 0x00004e46
lh $t0, 56($t1) :: rt 0x0000474d
lh $t0, 60($t1) :: rt 0x00004a48
-lh $t0, 64($t1) :: rt 0x00004144
+lh $t0, 62($t1) :: rt 0x00004a4c
lh $t0, 2($t1) :: rt 0x00001e1f
lh $t0, 6($t1) :: rt 0x00000000
lh $t0, 10($t1) :: rt 0x00000003
@@ -595,7 +595,7 @@
lhu $t0, 52($t1) :: rt 0x00004e46
lhu $t0, 56($t1) :: rt 0x0000474d
lhu $t0, 60($t1) :: rt 0x00004a48
-lhu $t0, 64($t1) :: rt 0x00004144
+lhu $t0, 62($t1) :: rt 0x00004a4c
lhu $t0, 2($t1) :: rt 0x00001e1f
lhu $t0, 6($t1) :: rt 0x00000000
lhu $t0, 10($t1) :: rt 0x00000003
@@ -630,7 +630,6 @@
lw $t0, 52($t1) :: rt 0x4e464d46
lw $t0, 56($t1) :: rt 0x474d474c
lw $t0, 60($t1) :: rt 0x4a484a4c
-lw $t0, 64($t1) :: rt 0x41444400
lw $t0, 2($t1) :: rt 0x1e1f0000
lw $t0, 6($t1) :: rt 0x00000000
lw $t0, 10($t1) :: rt 0x0003ffff
@@ -642,61 +641,47 @@
lw $t0, 34($t1) :: rt 0x3f3e3e35
lw $t0, 38($t1) :: rt 0x3d3c363a
LWL
-lwl $t0, 0($t1) :: rt 0x121f1e1f
-lwl $t0, 4($t1) :: rt 0x00000000
-lwl $t0, 8($t1) :: rt 0x00000003
+lwl $t0, 3($t1) :: rt 0x1f000000
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 9($t1) :: rt 0x00000300
lwl $t0, 12($t1) :: rt 0xffffffff
-lwl $t0, 16($t1) :: rt 0x232f2e2f
-lwl $t0, 20($t1) :: rt 0x242c2b2b
+lwl $t0, 15($t1) :: rt 0xff000000
+lwl $t0, 18($t1) :: rt 0x2e2f0000
+lwl $t0, 21($t1) :: rt 0x2c2b2b00
lwl $t0, 24($t1) :: rt 0x252a2e2b
-lwl $t0, 28($t1) :: rt 0x262d2d2a
-lwl $t0, 32($t1) :: rt 0x3f343f3e
+lwl $t0, 27($t1) :: rt 0x2b000000
+lwl $t0, 30($t1) :: rt 0x2d2a0000
+lwl $t0, 33($t1) :: rt 0x343f3e00
lwl $t0, 36($t1) :: rt 0x3e353d3c
-lwl $t0, 40($t1) :: rt 0x363a3c3b
-lwl $t0, 44($t1) :: rt 0x3b373b3a
+lwl $t0, 39($t1) :: rt 0x3c000000
+lwl $t0, 42($t1) :: rt 0x3c3b0000
+lwl $t0, 45($t1) :: rt 0x373b3a00
lwl $t0, 48($t1) :: rt 0x454f4e45
-lwl $t0, 52($t1) :: rt 0x4e464d46
-lwl $t0, 56($t1) :: rt 0x474d474c
+lwl $t0, 51($t1) :: rt 0x45000000
+lwl $t0, 54($t1) :: rt 0x4d460000
+lwl $t0, 57($t1) :: rt 0x4d474c00
lwl $t0, 60($t1) :: rt 0x4a484a4c
-lwl $t0, 64($t1) :: rt 0x41444400
-lwl $t0, 2($t1) :: rt 0x1e1f0000
-lwl $t0, 6($t1) :: rt 0x00000000
-lwl $t0, 10($t1) :: rt 0x00030000
-lwl $t0, 14($t1) :: rt 0xffff0000
-lwl $t0, 18($t1) :: rt 0x2e2f0000
-lwl $t0, 22($t1) :: rt 0x2b2b0000
-lwl $t0, 26($t1) :: rt 0x2e2b0000
-lwl $t0, 30($t1) :: rt 0x2d2a0000
-lwl $t0, 34($t1) :: rt 0x3f3e0000
-lwl $t0, 38($t1) :: rt 0x3d3c0000
LWR
-lwr $t0, 0($t1) :: rt 0x00000012
-lwr $t0, 4($t1) :: rt 0x00000000
-lwr $t0, 8($t1) :: rt 0x00000000
+lwr $t0, 3($t1) :: rt 0x121f1e1f
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 9($t1) :: rt 0x00000000
lwr $t0, 12($t1) :: rt 0x000000ff
-lwr $t0, 16($t1) :: rt 0x00000023
-lwr $t0, 20($t1) :: rt 0x00000024
+lwr $t0, 15($t1) :: rt 0xffffffff
+lwr $t0, 18($t1) :: rt 0x00232f2e
+lwr $t0, 21($t1) :: rt 0x0000242c
lwr $t0, 24($t1) :: rt 0x00000025
-lwr $t0, 28($t1) :: rt 0x00000026
-lwr $t0, 32($t1) :: rt 0x0000003f
+lwr $t0, 27($t1) :: rt 0x252a2e2b
+lwr $t0, 30($t1) :: rt 0x00262d2d
+lwr $t0, 33($t1) :: rt 0x00003f34
lwr $t0, 36($t1) :: rt 0x0000003e
-lwr $t0, 40($t1) :: rt 0x00000036
-lwr $t0, 44($t1) :: rt 0x0000003b
+lwr $t0, 39($t1) :: rt 0x3e353d3c
+lwr $t0, 42($t1) :: rt 0x00363a3c
+lwr $t0, 45($t1) :: rt 0x00003b37
lwr $t0, 48($t1) :: rt 0x00000045
-lwr $t0, 52($t1) :: rt 0x0000004e
-lwr $t0, 56($t1) :: rt 0x00000047
+lwr $t0, 51($t1) :: rt 0x454f4e45
+lwr $t0, 54($t1) :: rt 0x004e464d
+lwr $t0, 57($t1) :: rt 0x0000474d
lwr $t0, 60($t1) :: rt 0x0000004a
-lwr $t0, 64($t1) :: rt 0x00000041
-lwr $t0, 2($t1) :: rt 0x00121f1e
-lwr $t0, 6($t1) :: rt 0x00000000
-lwr $t0, 10($t1) :: rt 0x00000000
-lwr $t0, 14($t1) :: rt 0x00ffffff
-lwr $t0, 18($t1) :: rt 0x00232f2e
-lwr $t0, 22($t1) :: rt 0x00242c2b
-lwr $t0, 26($t1) :: rt 0x00252a2e
-lwr $t0, 30($t1) :: rt 0x00262d2d
-lwr $t0, 34($t1) :: rt 0x003f343f
-lwr $t0, 38($t1) :: rt 0x003e353d
MADD
madd $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c
madd $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48
@@ -1034,8 +1019,8 @@
rotr $t0, $t1, 0x0000000F :: rt 0xb24e6282 rs 0x31415927, imm 0x0000000f
rotr $t0, $t1, 0x00000010 :: rt 0x59273141 rs 0x31415927, imm 0x00000010
rotr $t0, $t1, 0x0000001F :: rt 0x6282b24e rs 0x31415927, imm 0x0000001f
-rotr $t0, $t1, 0x00000020 :: rt 0x31415927 rs 0x31415927, imm 0x00000020
-rotr $t0, $t1, 0x00000021 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000021
+rotr $t0, $t1, 0x0000001A :: rt 0x505649cc rs 0x31415927, imm 0x0000001a
+rotr $t0, $t1, 0x00000007 :: rt 0x4e6282b2 rs 0x31415927, imm 0x00000007
rotr $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
rotr $t0, $t1, 0x00000001 :: rt 0x00044000 rs 0x00088000, imm 0x00000001
rotr $t0, $t1, 31 :: rt 0x00110000 rs 0x00088000, imm 0x0000001f
@@ -1043,7 +1028,7 @@
rotr $t0, $t1, 17 :: rt 0x80000000 rs 0x00010000, imm 0x00000011
rotr $t0, $t1, 18 :: rt 0x40000000 rs 0x00010000, imm 0x00000012
rotr $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
-rotr $t0, $t1, 0xffff :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000ffff
+rotr $t0, $t1, 0x1F :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000001f
ROTRV
rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
Modified: trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-LE
==============================================================================
--- trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-LE (original)
+++ trunk/none/tests/mips32/MIPS32int.stdout.exp-mips32r2-LE Thu May 11 17:59:33 2017
@@ -511,7 +511,7 @@
lb $t0, 52($t1) :: rt 0x00000046
lb $t0, 56($t1) :: rt 0x0000004c
lb $t0, 60($t1) :: rt 0x0000004c
-lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 1($t1) :: rt 0x0000001e
lb $t0, 2($t1) :: rt 0x0000001f
lb $t0, 6($t1) :: rt 0x00000000
lb $t0, 10($t1) :: rt 0x00000000
@@ -539,7 +539,7 @@
lbu $t0, 52($t1) :: rt 0x00000046
lbu $t0, 56($t1) :: rt 0x0000004c
lbu $t0, 60($t1) :: rt 0x0000004c
-lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 1($t1) :: rt 0x0000001e
lbu $t0, 2($t1) :: rt 0x0000001f
lbu $t0, 6($t1) :: rt 0x00000000
lbu $t0, 10($t1) :: rt 0x00000000
@@ -567,7 +567,7 @@
lh $t0, 52($t1) :: rt 0x00004d46
lh $t0, 56($t1) :: rt 0x0000474c
lh $t0, 60($t1) :: rt 0x00004a4c
-lh $t0, 64($t1) :: rt 0x00004441
+lh $t0, 62($t1) :: rt 0x00004a48
lh $t0, 2($t1) :: rt 0x0000121f
lh $t0, 6($t1) :: rt 0x00000000
lh $t0, 10($t1) :: rt 0x00000000
@@ -595,7 +595,7 @@
lhu $t0, 52($t1) :: rt 0x00004d46
lhu $t0, 56($t1) :: rt 0x0000474c
lhu $t0, 60($t1) :: rt 0x00004a4c
-lhu $t0, 64($t1) :: rt 0x00004441
+lhu $t0, 62($t1) :: rt 0x00004a48
lhu $t0, 2($t1) :: rt 0x0000121f
lhu $t0, 6($t1) :: rt 0x00000000
lhu $t0, 10($t1) :: rt 0x00000000
@@ -630,7 +630,6 @@
lw $t0, 52($t1) :: rt 0x4e464d46
lw $t0, 56($t1) :: rt 0x474d474c
lw $t0, 60($t1) :: rt 0x4a484a4c
-lw $t0, 64($t1) :: rt 0x00444441
lw $t0, 2($t1) :: rt 0x0000121f
lw $t0, 6($t1) :: rt 0x00030000
lw $t0, 10($t1) :: rt 0xffff0000
@@ -642,61 +641,47 @@
lw $t0, 34($t1) :: rt 0x3d3c3f34
lw $t0, 38($t1) :: rt 0x3c3b3e35
LWL
-lwl $t0, 0($t1) :: rt 0x1f000000
-lwl $t0, 4($t1) :: rt 0x00000000
-lwl $t0, 8($t1) :: rt 0x03000000
+lwl $t0, 3($t1) :: rt 0x121f1e1f
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 9($t1) :: rt 0x00030000
lwl $t0, 12($t1) :: rt 0xff000000
-lwl $t0, 16($t1) :: rt 0x2f000000
-lwl $t0, 20($t1) :: rt 0x2b000000
+lwl $t0, 15($t1) :: rt 0xffffffff
+lwl $t0, 18($t1) :: rt 0x2f2e2f00
+lwl $t0, 21($t1) :: rt 0x2b2b0000
lwl $t0, 24($t1) :: rt 0x2b000000
-lwl $t0, 28($t1) :: rt 0x2a000000
-lwl $t0, 32($t1) :: rt 0x3e000000
+lwl $t0, 27($t1) :: rt 0x252a2e2b
+lwl $t0, 30($t1) :: rt 0x2d2d2a00
+lwl $t0, 33($t1) :: rt 0x3f3e0000
lwl $t0, 36($t1) :: rt 0x3c000000
-lwl $t0, 40($t1) :: rt 0x3b000000
-lwl $t0, 44($t1) :: rt 0x3a000000
+lwl $t0, 39($t1) :: rt 0x3e353d3c
+lwl $t0, 42($t1) :: rt 0x3a3c3b00
+lwl $t0, 45($t1) :: rt 0x3b3a0000
lwl $t0, 48($t1) :: rt 0x45000000
-lwl $t0, 52($t1) :: rt 0x46000000
-lwl $t0, 56($t1) :: rt 0x4c000000
+lwl $t0, 51($t1) :: rt 0x454f4e45
+lwl $t0, 54($t1) :: rt 0x464d4600
+lwl $t0, 57($t1) :: rt 0x474c0000
lwl $t0, 60($t1) :: rt 0x4c000000
-lwl $t0, 64($t1) :: rt 0x41000000
-lwl $t0, 2($t1) :: rt 0x1f1e1f00
-lwl $t0, 6($t1) :: rt 0x00000000
-lwl $t0, 10($t1) :: rt 0x00000300
-lwl $t0, 14($t1) :: rt 0xffffff00
-lwl $t0, 18($t1) :: rt 0x2f2e2f00
-lwl $t0, 22($t1) :: rt 0x2c2b2b00
-lwl $t0, 26($t1) :: rt 0x2a2e2b00
-lwl $t0, 30($t1) :: rt 0x2d2d2a00
-lwl $t0, 34($t1) :: rt 0x343f3e00
-lwl $t0, 38($t1) :: rt 0x353d3c00
LWR
-lwr $t0, 0($t1) :: rt 0x121f1e1f
-lwr $t0, 4($t1) :: rt 0x00000000
-lwr $t0, 8($t1) :: rt 0x00000003
+lwr $t0, 3($t1) :: rt 0x00000012
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 9($t1) :: rt 0x00000000
lwr $t0, 12($t1) :: rt 0xffffffff
-lwr $t0, 16($t1) :: rt 0x232f2e2f
-lwr $t0, 20($t1) :: rt 0x242c2b2b
+lwr $t0, 15($t1) :: rt 0x000000ff
+lwr $t0, 18($t1) :: rt 0x0000232f
+lwr $t0, 21($t1) :: rt 0x00242c2b
lwr $t0, 24($t1) :: rt 0x252a2e2b
-lwr $t0, 28($t1) :: rt 0x262d2d2a
-lwr $t0, 32($t1) :: rt 0x3f343f3e
+lwr $t0, 27($t1) :: rt 0x00000025
+lwr $t0, 30($t1) :: rt 0x0000262d
+lwr $t0, 33($t1) :: rt 0x003f343f
lwr $t0, 36($t1) :: rt 0x3e353d3c
-lwr $t0, 40($t1) :: rt 0x363a3c3b
-lwr $t0, 44($t1) :: rt 0x3b373b3a
+lwr $t0, 39($t1) :: rt 0x0000003e
+lwr $t0, 42($t1) :: rt 0x0000363a
+lwr $t0, 45($t1) :: rt 0x003b373b
lwr $t0, 48($t1) :: rt 0x454f4e45
-lwr $t0, 52($t1) :: rt 0x4e464d46
-lwr $t0, 56($t1) :: rt 0x474d474c
+lwr $t0, 51($t1) :: rt 0x00000045
+lwr $t0, 54($t1) :: rt 0x00004e46
+lwr $t0, 57($t1) :: rt 0x00474d47
lwr $t0, 60($t1) :: rt 0x4a484a4c
-lwr $t0, 64($t1) :: rt 0x00444441
-lwr $t0, 2($t1) :: rt 0x0000121f
-lwr $t0, 6($t1) :: rt 0x00000000
-lwr $t0, 10($t1) :: rt 0x00000000
-lwr $t0, 14($t1) :: rt 0x0000ffff
-lwr $t0, 18($t1) :: rt 0x0000232f
-lwr $t0, 22($t1) :: rt 0x0000242c
-lwr $t0, 26($t1) :: rt 0x0000252a
-lwr $t0, 30($t1) :: rt 0x0000262d
-lwr $t0, 34($t1) :: rt 0x00003f34
-lwr $t0, 38($t1) :: rt 0x00003e35
MADD
madd $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c
madd $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48
@@ -1034,8 +1019,8 @@
rotr $t0, $t1, 0x0000000F :: rt 0xb24e6282 rs 0x31415927, imm 0x0000000f
rotr $t0, $t1, 0x00000010 :: rt 0x59273141 rs 0x31415927, imm 0x00000010
rotr $t0, $t1, 0x0000001F :: rt 0x6282b24e rs 0x31415927, imm 0x0000001f
-rotr $t0, $t1, 0x00000020 :: rt 0x31415927 rs 0x31415927, imm 0x00000020
-rotr $t0, $t1, 0x00000021 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000021
+rotr $t0, $t1, 0x0000001A :: rt 0x505649cc rs 0x31415927, imm 0x0000001a
+rotr $t0, $t1, 0x00000007 :: rt 0x4e6282b2 rs 0x31415927, imm 0x00000007
rotr $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
rotr $t0, $t1, 0x00000001 :: rt 0x00044000 rs 0x00088000, imm 0x00000001
rotr $t0, $t1, 31 :: rt 0x00110000 rs 0x00088000, imm 0x0000001f
@@ -1043,7 +1028,7 @@
rotr $t0, $t1, 17 :: rt 0x80000000 rs 0x00010000, imm 0x00000011
rotr $t0, $t1, 18 :: rt 0x40000000 rs 0x00010000, imm 0x00000012
rotr $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
-rotr $t0, $t1, 0xffff :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000ffff
+rotr $t0, $t1, 0x1F :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000001f
ROTRV
rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
|
|
From: Julian S. <js...@ac...> - 2017-05-11 14:57:04
|
On 11/05/17 10:39, Ivo Raisr wrote: > Please have a look at the patch attached to bug 362223: > https://bugsfiles.kde.org/attachment.cgi?id=105438 Looks good to me. J |
|
From: <sv...@va...> - 2017-05-11 14:37:16
|
Author: sewardj
Date: Thu May 11 15:37:08 2017
New Revision: 519
Log:
Update web site following removal of the TileGX port (patch by Ivo Raisr).
Pertains to bug 379504.
Modified:
trunk/index.html
Modified: trunk/index.html
==============================================================================
--- trunk/index.html (original)
+++ trunk/index.html Thu May 11 15:37:08 2017
@@ -26,7 +26,7 @@
SimPoint basic block vector generator. It runs on the following
platforms: X86/Linux, AMD64/Linux, ARM/Linux, ARM64/Linux,
PPC32/Linux, PPC64/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,
-MIPS64/Linux, TILEGX/Linux, X86/Solaris, AMD64/Solaris, ARM/Android
+MIPS64/Linux, X86/Solaris, AMD64/Solaris, ARM/Android
(2.3.x and later), ARM64/Android, X86/Android (4.0 and later),
MIPS32/Android, X86/Darwin and AMD64/Darwin (Mac OS X 10.10, with
initial support for 10.11).</p>
@@ -42,17 +42,7 @@
<tr><td>
<h2 align="center">Recent News</h2>
-
<ul>
- <li><p>23 October 2016: We will
- have a <a href="https://fosdem.org/2017/schedule/track/valgrind">Valgrind
- Devroom</a> at <a href="https://fosdem.org/2017">FOSDEM 2017</a>.
- The <a href="https://lists.fosdem.org/pipermail/fosdem/2016-October/002467.html">Call
- for Participation</a> has recently been announced. The Devroom is on
- the first of the two FOSDEM days, on Sat 4 Feb 2017.
- See you all at FOSDEM in Brussels!
- </p></li>
-
<li><p><?php echo $config['release-date'].": ".$config['release-version']; ?>
is available. This release supports:
X86/Linux, AMD64/Linux, ARM32/Linux,
@@ -60,7 +50,7 @@
MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android,
MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX
10.10 and AMD64/MacOSX 10.10. There is also preliminary support for
- X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux.
+ X86/MacOSX 10.11/12, and AMD64/MacOSX 10.11/12.
For more details see the <a href="/docs/manual/dist.news.html">release notes</a>.
</p></li>
</ul>
|
|
From: <sv...@va...> - 2017-05-11 14:28:17
|
Author: sewardj
Date: Thu May 11 15:28:10 2017
New Revision: 3364
Log:
Bug 371491 - handleAddrOverrides() is truncating the segment base address when ASO prefix is used.
Patch from Michael Daniels (mda...@bl...).
Modified:
trunk/priv/guest_amd64_toIR.c
Modified: trunk/priv/guest_amd64_toIR.c
==============================================================================
--- trunk/priv/guest_amd64_toIR.c (original)
+++ trunk/priv/guest_amd64_toIR.c Thu May 11 15:28:10 2017
@@ -2340,6 +2340,10 @@
IRExpr* handleAddrOverrides ( const VexAbiInfo* vbi,
Prefix pfx, IRExpr* virtual )
{
+ /* --- address size override --- */
+ if (haveASO(pfx))
+ virtual = unop(Iop_32Uto64, unop(Iop_64to32, virtual));
+
/* Note that the below are hacks that relies on the assumption
that %fs or %gs are constant.
Typically, %fs is always 0x63 on linux (in the main thread, it
@@ -2367,10 +2371,6 @@
/* cs, ds, es and ss are simply ignored in 64-bit mode. */
- /* --- address size override --- */
- if (haveASO(pfx))
- virtual = unop(Iop_32Uto64, unop(Iop_64to32, virtual));
-
return virtual;
}
|
|
From: <sv...@va...> - 2017-05-11 14:21:36
|
Author: sewardj
Date: Thu May 11 15:21:08 2017
New Revision: 16362
Log:
Minor update.
Modified:
trunk/docs/internals/3_12_BUGSTATUS.txt
Modified: trunk/docs/internals/3_12_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_12_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_12_BUGSTATUS.txt Thu May 11 15:21:08 2017
@@ -30,9 +30,6 @@
373166 vex amd64->IR: 0xFF 0xFF 0x48 0x85 0xC0 0x74 0x8 0x4D 0x89 0xE7
[not clear what's going on here]
-377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
- PIE enabled by default
-
379525 Support more x86 nop opcodes
AMD XOP-prefixed insns:
@@ -132,10 +129,6 @@
rustlang's test suite on i686
(carried over)
-360429 Warning: noted but unhandled ioctl 0x530d with no size/direction hints.
- (has patch, should take)
-
-(carried over)
361726 WARNING:unhandled syscall on ppc64
(carried over)
@@ -473,9 +466,6 @@
(carried over)
366345 Dirty compile from m_libcbase.c and vgdb-invoker-ptrace.c
-377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
- PIE enabled by default
-
379502 Checking the code of Valgrind dynamic analyzer by a static analyzer
379537 Client requests can't be used in C++11 constexpr functions
@@ -522,14 +512,10 @@
**
360415 amd64 instructions ADCX and ADOX are not implemented in VEX
[has a plausible patch]
-
-**
-360429 Warning: noted but unhandled ioctl 0x530d with no size/direction hints.
- (has patch, should take)
-
+ == 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10)
**
362223 assertion failed when .valgrindrc is a directory instead of a file
- [really easy to fix]
+ [has patch by Ivo]
**
(carried over)
@@ -566,18 +552,10 @@
372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)
**
-372828 vex amd64->IR: 0x66 0x4D 0xF 0x38 0xF6 0xD2 0x66 0x4D
-
-**
374963 increase valgrind's load address to prevent mmap failure
maybe change to 0x5800'0000
**
-377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
- PIE enabled by default
- [Ivosh will fix it as it is annoying]
-
-**
n-i-bz major perf problems w/ stack registration + stack recycling
Should be fixed. Try again with ./mach gtest
|
|
From: Ivo R. <iv...@iv...> - 2017-05-11 08:51:02
|
2017-05-10 18:13 GMT+02:00 Mineeva, Tatyana A <tat...@in...>: > Hello Ivo, > > Could you please explain how to connect to Valgrind SVN through 'socat' tunneling? Sure. The magic incantation is: socat TCP4-LISTEN:3690,reuseaddr,fork "PROXY:<your-proxy-servername-here>:svn.valgrind.org:3690,proxyport=<your-proxy-port-here>" & Then do something along these lines: svn co --ignore-externals "svn://localhost:3690/valgrind/trunk" valgrind svn co --ignore-externals "svn://localhost:3690/vex/trunk" valgrind/VEX > Also, do I understand correctly that the Git repository does not update along with the svn trunk yet? It is currently for testing only. I'll update it with the latest SVN commits tomorrow. I. |
|
From: Ivo R. <iv...@iv...> - 2017-05-11 08:39:52
|
Folks, Please have a look at the patch attached to bug 362223: https://bugsfiles.kde.org/attachment.cgi?id=105438 Thank you, I. |
|
From: <sv...@va...> - 2017-05-11 03:07:56
|
Author: bart
Date: Thu May 11 04:07:49 2017
New Revision: 16361
Log:
none/tests/amd64/bug132918.c: Mark f64 as an output parameter
This change avoids that gcc 7 complains that f64 is used uninitialized
in this source file.
Modified:
trunk/none/tests/amd64/bug132918.c
Modified: trunk/none/tests/amd64/bug132918.c
==============================================================================
--- trunk/none/tests/amd64/bug132918.c (original)
+++ trunk/none/tests/amd64/bug132918.c Thu May 11 04:07:49 2017
@@ -24,8 +24,8 @@
"fnstsw %%ax\n\t"
"movq %%rax,%0\n\t"
"movq %%r15,%%rax"
- : /*out*/ "=r" (c3210)
- : /*in*/ "m" (f64), "m" (xx), "m" (yy)
+ : /*out*/ "=r" (c3210), "=m" (f64)
+ : /*in*/ "m" (xx), "m" (yy)
: /*trash*/ "r15", "rax", "%st", "%st(1)", "cc"
);
res->d = f64;
|
|
From: <sv...@va...> - 2017-05-11 03:07:18
|
Author: bart
Date: Thu May 11 04:07:11 2017
New Revision: 16360
Log:
tests: Remove exception specifications
Exception specifications are a deprecated feature in C++11 and gcc 7
complains about these specifications. Hence remove these specifications.
This patch avoids that gcc reports the following:
warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
Modified:
trunk/massif/tests/overloaded-new.cpp
trunk/memcheck/tests/new_override.cpp
Modified: trunk/massif/tests/overloaded-new.cpp
==============================================================================
--- trunk/massif/tests/overloaded-new.cpp (original)
+++ trunk/massif/tests/overloaded-new.cpp Thu May 11 04:07:11 2017
@@ -14,32 +14,32 @@
int array[1000];
} s;
-__attribute__((noinline)) void* operator new (std::size_t n) throw (std::bad_alloc)
+__attribute__((noinline)) void* operator new (std::size_t n)
{
return malloc(n);
}
-__attribute__((noinline)) void* operator new (std::size_t n, std::nothrow_t const &) throw ()
+__attribute__((noinline)) void* operator new (std::size_t n, std::nothrow_t const &)
{
return malloc(n);
}
-__attribute__((noinline)) void* operator new[] (std::size_t n) throw (std::bad_alloc)
+__attribute__((noinline)) void* operator new[] (std::size_t n)
{
return malloc(n);
}
-__attribute__((noinline)) void* operator new[] (std::size_t n, std::nothrow_t const &) throw ()
+__attribute__((noinline)) void* operator new[] (std::size_t n, std::nothrow_t const &)
{
return malloc(n);
}
-__attribute__((noinline)) void operator delete (void* p) throw()
+__attribute__((noinline)) void operator delete (void* p)
{
return free(p);
}
-__attribute__((noinline)) void operator delete[] (void* p) throw()
+__attribute__((noinline)) void operator delete[] (void* p)
{
return free(p);
}
Modified: trunk/memcheck/tests/new_override.cpp
==============================================================================
--- trunk/memcheck/tests/new_override.cpp (original)
+++ trunk/memcheck/tests/new_override.cpp Thu May 11 04:07:11 2017
@@ -7,7 +7,7 @@
int a, b, c, d;
};
-void *operator new[](size_t size) throw(std::bad_alloc)
+void *operator new[](size_t size)
{
void *ret = malloc(size);
printf("Here.\n");
|
|
From: <sv...@va...> - 2017-05-11 03:06:04
|
Author: bart
Date: Thu May 11 04:05:53 2017
New Revision: 16359
Log:
drd: Update suppressions file
Modified:
trunk/glibc-2.X-drd.supp
Modified: trunk/glibc-2.X-drd.supp
==============================================================================
--- trunk/glibc-2.X-drd.supp (original)
+++ trunk/glibc-2.X-drd.supp Thu May 11 04:05:53 2017
@@ -115,6 +115,12 @@
fun:pthread_cancel_init
}
{
+ drd-libpthread-pthread_cancel
+ drd:ConflictingAccess
+ fun:pthread_cancel
+ fun:pthread_cancel_intercept
+}
+{
drd-libpthread-_Unwind_ForcedUnwind
drd:ConflictingAccess
...
|
|
From: <sv...@va...> - 2017-05-10 23:14:39
|
Author: iraisr
Date: Thu May 11 00:14:31 2017
New Revision: 16358
Log:
Add Linux specific ioctl wrapper for CDROMREADMODE1
Fixes BZ#360429
Original patch by: Vasantha Ganesh K <vas...@tu...>
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu May 11 00:14:31 2017
@@ -111,6 +111,7 @@
barrier implementation
358697 valgrind.h: Some code remains even when defining NVALGRIND
359202 Add musl libc configure/compile
+360429 unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)
367942 Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)
368863 WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)
368865 WARNING: unhandled arm64-linux syscall: 272 (kcmp)
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Thu May 11 00:14:31 2017
@@ -6943,8 +6943,13 @@
PRE_MEM_WRITE( "ioctl(CDROMSUBCHNL)", ARG3,
sizeof(struct vki_cdrom_subchnl));
break;
- case VKI_CDROMREADMODE2:
- PRE_MEM_READ( "ioctl(CDROMREADMODE2)", ARG3, VKI_CD_FRAMESIZE_RAW0 );
+ case VKI_CDROMREADMODE1: /*0x530d*/
+ PRE_MEM_READ("ioctl(CDROMREADMODE1)", ARG3, VKI_CD_FRAMESIZE_RAW1);
+ PRE_MEM_WRITE("ioctl(CDROMREADMODE1)", ARG3, VKI_CD_FRAMESIZE_RAW1);
+ break;
+ case VKI_CDROMREADMODE2: /*0x530c*/
+ PRE_MEM_READ("ioctl(CDROMREADMODE2)", ARG3, VKI_CD_FRAMESIZE_RAW0);
+ PRE_MEM_WRITE("ioctl(CDROMREADMODE2)", ARG3, VKI_CD_FRAMESIZE_RAW0);
break;
case VKI_CDROMREADTOCHDR:
PRE_MEM_WRITE( "ioctl(CDROMREADTOCHDR)", ARG3,
@@ -9691,6 +9696,12 @@
case VKI_CDROMVOLREAD:
POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_volctrl));
break;
+ case VKI_CDROMREADMODE1:
+ POST_MEM_WRITE(ARG3, VKI_CD_FRAMESIZE_RAW1);
+ break;
+ case VKI_CDROMREADMODE2:
+ POST_MEM_WRITE(ARG3, VKI_CD_FRAMESIZE_RAW0);
+ break;
case VKI_CDROMREADRAW:
POST_MEM_WRITE(ARG3, VKI_CD_FRAMESIZE_RAW);
break;
Modified: trunk/include/vki/vki-linux.h
==============================================================================
--- trunk/include/vki/vki-linux.h (original)
+++ trunk/include/vki/vki-linux.h Thu May 11 00:14:31 2017
@@ -1883,6 +1883,8 @@
(struct cdrom_subchnl) */
#define VKI_CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes)
(struct cdrom_read) */
+#define VKI_CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes)
+ (struct cdrom_read) */
#define VKI_CDROMREADAUDIO 0x530e /* (struct cdrom_read_audio) */
#define VKI_CDROMMULTISESSION 0x5310 /* Obtain the start-of-last-session
address of multi session disks
@@ -2009,6 +2011,7 @@
#define VKI_CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
#define VKI_CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
#define VKI_CD_FRAMESIZE_RAW0 (VKI_CD_FRAMESIZE_RAW-VKI_CD_SYNC_SIZE-VKI_CD_HEAD_SIZE) /*2336*/
+#define VKI_CD_FRAMESIZE_RAW1 2048 /* bytes per frame, mode 1*/
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/linux/soundcard.h
|
|
From: <sv...@va...> - 2017-05-10 18:09:43
|
Author: iraisr
Date: Wed May 10 19:09:36 2017
New Revision: 16357
Log:
Update list of ignored files in drd/tests.
Follow up to r16343.
Modified:
trunk/drd/tests/ (props changed)
|
|
From: <sv...@va...> - 2017-05-10 18:07:02
|
Author: iraisr
Date: Wed May 10 19:06:56 2017
New Revision: 16356
Log:
Updated 3_12_BUGSTATUS.txt.
Modified:
trunk/docs/internals/3_12_BUGSTATUS.txt
Modified: trunk/docs/internals/3_12_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_12_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_12_BUGSTATUS.txt Wed May 10 19:06:56 2017
@@ -188,8 +188,6 @@
372861 Test pselect_alarm for Bug 359871 seg faults on RHEL 4
[has a suggested solution]
-377891 Update Xen 4.6 domctl wrappers
-
378892 Unhandled amd64-linux syscall: 324
=== Syscalls/ioctls on OSX =============================================
@@ -580,9 +578,6 @@
[Ivosh will fix it as it is annoying]
**
-377891 Update Xen 4.6 domctl wrappers
-
-**
n-i-bz major perf problems w/ stack registration + stack recycling
Should be fixed. Try again with ./mach gtest
|
|
From: <sv...@va...> - 2017-05-10 18:04:24
|
Author: iraisr
Date: Wed May 10 19:04:17 2017
New Revision: 16355
Log:
Implement additional Xen hypercalls
Fixes BZ#373086
Patch by: Mihai DONȚU <mih...@gm...>
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-domctl.h
trunk/include/vki/vki-xen-x86.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 10 19:04:17 2017
@@ -136,6 +136,7 @@
372794 LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed
373046 Stacks registered by core are never deregistered
373069 memcheck/tests/leak_cpp_interior fails with GCC 5.1+
+373086 Implement additional Xen hypercalls
373192 Calling posix_spawn in glibc 2.24 completely broken
373488 Support for fanotify API on ARM64 architecture
== 368864 WARNING: unhandled arm64-linux syscall: 262 (fanotify_init)
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Wed May 10 19:04:17 2017
@@ -729,6 +729,7 @@
case 0x00000009:
case 0x0000000a:
case 0x0000000b:
+ case 0x0000000c:
break;
default:
bad_intf_version(tid, layout, arrghs, status, flags,
@@ -790,6 +791,12 @@
(Addr)domctl->u.hvmcontext_partial.buffer.p,
VKI_HVM_SAVE_LENGTH(CPU));
break;
+ case VKI_HVM_SAVE_CODE(MTRR):
+ if ( domctl->u.hvmcontext_partial.buffer.p )
+ PRE_MEM_WRITE("XEN_DOMCTL_gethvmcontext_partial *buffer",
+ (Addr)domctl->u.hvmcontext_partial.buffer.p,
+ VKI_HVM_SAVE_LENGTH(MTRR));
+ break;
default:
bad_subop(tid, layout, arrghs, status, flags,
"__HYPERVISOR_domctl_gethvmcontext_partial type",
@@ -1273,7 +1280,7 @@
case 0x000000b:
if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE ||
domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE) {
- switch(domctl->u.monitor_op_0000000b.event) {
+ switch (domctl->u.monitor_op_0000000b.event) {
case VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
__PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.mov_to_cr);
break;
@@ -1283,6 +1290,8 @@
case VKI_XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST:
__PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.guest_request);
break;
+ case VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
+ break;
}
}
Modified: trunk/include/vki/vki-xen-domctl.h
==============================================================================
--- trunk/include/vki/vki-xen-domctl.h (original)
+++ trunk/include/vki/vki-xen-domctl.h Wed May 10 19:04:17 2017
@@ -37,6 +37,7 @@
* - 0x00000009: Xen 4.3 & 4.4
* - 0x0000000a: Xen 4.5
* - 0x0000000b: Xen 4.6
+ * - 0x0000000c: Xen 4.7
*
* When adding a new subop be sure to include the variants used by all
* of the above, both here and in syswrap-xen.c
@@ -553,6 +554,28 @@
};
+struct vki_xen_domctl_monitor_op {
+ vki_uint32_t op;
+#define VKI_XEN_DOMCTL_MONITOR_OP_ENABLE 0
+#define VKI_XEN_DOMCTL_MONITOR_OP_DISABLE 1
+#define VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES 2
+#define VKI_XEN_DOMCTL_MONITOR_OP_EMULATE_EACH_REP 3
+ vki_uint32_t event;
+ union {
+ struct {
+ vki_uint8_t index;
+ vki_uint8_t sync;
+ vki_uint8_t onchangeonly;
+ } mov_to_cr;
+ struct {
+ vki_uint8_t extended_capture;
+ } mov_to_msr;
+ struct {
+ vki_uint8_t sync;
+ } guest_request;
+ } u;
+};
+
struct vki_xen_domctl {
vki_uint32_t cmd;
vki_uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
Modified: trunk/include/vki/vki-xen-x86.h
==============================================================================
--- trunk/include/vki/vki-xen-x86.h (original)
+++ trunk/include/vki/vki-xen-x86.h Wed May 10 19:04:17 2017
@@ -270,6 +270,19 @@
VKI_DECLARE_HVM_SAVE_TYPE(CPU, 2, struct vki_hvm_hw_cpu);
+struct vki_hvm_hw_mtrr {
+#define VKI_MTRR_VCNT 8
+#define VKI_NUM_FIXED_MSR 11
+ vki_uint64_t msr_pat_cr;
+ /* mtrr physbase & physmask msr pair*/
+ vki_uint64_t msr_mtrr_var[VKI_MTRR_VCNT*2];
+ vki_uint64_t msr_mtrr_fixed[VKI_NUM_FIXED_MSR];
+ vki_uint64_t msr_mtrr_cap;
+ vki_uint64_t msr_mtrr_def_type;
+};
+
+VKI_DECLARE_HVM_SAVE_TYPE(MTRR, 14, struct vki_hvm_hw_mtrr);
+
#endif // __VKI_XEN_H
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2017-05-10 17:37:43
|
Author: iraisr
Date: Wed May 10 18:37:35 2017
New Revision: 16354
Log:
Update Xen 4.6 domctl wrappers
Fixes BZ#377891
Patch by: Antony Saba <aw...@gm...>
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/include/vki/vki-xen-domctl.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 10 18:37:35 2017
@@ -168,6 +168,7 @@
and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET,
and 2 args for FUTEX_TRYLOCK_PI
377717 Fix massive space leak when reading compressed debuginfo sections
+377891 Update Xen 4.6 domctl wrappers
377930 fcntl syscall wrapper is missing flock structure check
378524 libvexmultiarch_test regression on s390x and ppc64
378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c Wed May 10 18:37:35 2017
@@ -728,6 +728,7 @@
case 0x00000008:
case 0x00000009:
case 0x0000000a:
+ case 0x0000000b:
break;
default:
bad_intf_version(tid, layout, arrghs, status, flags,
@@ -806,20 +807,114 @@
break;
case VKI_XEN_DOMCTL_test_assign_device:
- __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device, machine_sbdf);
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device_00000007, machine_sbdf);
+ break;
+ case 0x0000000b:
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device_0000000b, dev);
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device_0000000b, flag);
+ switch (domctl->u.assign_device_0000000b.dev) {
+ case VKI_XEN_DOMCTL_DEV_PCI:
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device_0000000b, u.pci);
+ break;
+ case VKI_XEN_DOMCTL_DEV_DT:
+ __PRE_XEN_DOMCTL_READ(test_assign_device, assign_device_0000000b, u.dt);
+ PRE_MEM_READ("XEN_DOMTCL_test_assign_device.dt",
+ (Addr)domctl->u.assign_device_0000000b.u.dt.path.p,
+ domctl->u.assign_device_0000000b.u.dt.size);
+ break;
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_domctl_test_assign_device dev",
+ domctl->u.assign_device_0000000b.dev);
+ break;
+ }
+ break;
+ }
break;
case VKI_XEN_DOMCTL_assign_device:
- __PRE_XEN_DOMCTL_READ(assign_device, assign_device, machine_sbdf);
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device_00000007, machine_sbdf);
+ break;
+ case 0x0000000b:
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device_0000000b, dev);
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device_0000000b, flag);
+ switch (domctl->u.assign_device_0000000b.dev) {
+ case VKI_XEN_DOMCTL_DEV_PCI:
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device_0000000b, u.pci);
+ break;
+ case VKI_XEN_DOMCTL_DEV_DT:
+ __PRE_XEN_DOMCTL_READ(assign_device, assign_device_0000000b, u.dt);
+ PRE_MEM_READ("XEN_DOMTCL_assign_device.dt",
+ (Addr)domctl->u.assign_device_0000000b.u.dt.path.p,
+ domctl->u.assign_device_0000000b.u.dt.size);
+ break;
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_domctl_assign_device dev",
+ domctl->u.assign_device_0000000b.dev);
+ break;
+ }
+ break;
+ }
break;
case VKI_XEN_DOMCTL_deassign_device:
- __PRE_XEN_DOMCTL_READ(deassign_device, assign_device, machine_sbdf);
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device_00000007, machine_sbdf);
+ break;
+ case 0x0000000b:
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device_0000000b, dev);
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device_0000000b, flag);
+ switch (domctl->u.assign_device_0000000b.dev) {
+ case VKI_XEN_DOMCTL_DEV_PCI:
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device_0000000b, u.pci);
+ break;
+ case VKI_XEN_DOMCTL_DEV_DT:
+ __PRE_XEN_DOMCTL_READ(deassign_device, assign_device_0000000b, u.dt);
+ PRE_MEM_READ("XEN_DOMTCL_assign_device.dt",
+ (Addr)domctl->u.assign_device_0000000b.u.dt.path.p,
+ domctl->u.assign_device_0000000b.u.dt.size);
+ break;
+ default:
+ bad_subop(tid, layout, arrghs, status, flags,
+ "__HYPERVISOR_domctl_deassign_device dev",
+ domctl->u.assign_device_0000000b.dev);
+ break;
+ }
+ break;
+ }
break;
case VKI_XEN_DOMCTL_settscinfo:
- __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.tsc_mode);
- __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.gtsc_khz);
- __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.incarnation);
- __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.elapsed_nsec);
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_00000007, info.tsc_mode);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_00000007, info.gtsc_khz);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_00000007, info.incarnation);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_00000007, info.elapsed_nsec);
+ break;
+ case 0x0000000b:
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_0000000b, tsc_mode);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_0000000b, gtsc_khz);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_0000000b, incarnation);
+ __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info_0000000b, elapsed_nsec);
+ break;
+ }
break;
case VKI_XEN_DOMCTL_irq_permission:
@@ -1136,8 +1231,20 @@
break;
case VKI_XEN_DOMCTL_mem_event_op:
- PRE_XEN_DOMCTL_READ(mem_event_op, op);
- PRE_XEN_DOMCTL_READ(mem_event_op, mode);
+ //case VKI_XEN_DOMCTL_vm_event_op: /* name change in 4.6 */
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __PRE_XEN_DOMCTL_READ(mem_event_op, mem_event_op_00000007, op);
+ __PRE_XEN_DOMCTL_READ(mem_event_op, mem_event_op_00000007, mode);
+ break;
+ case 0x0000000b:
+ __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, op);
+ __PRE_XEN_DOMCTL_READ(vm_event_op, vm_event_op_0000000b, mode);
+ break;
+ }
break;
case VKI_XEN_DOMCTL_debug_op:
@@ -1161,6 +1268,28 @@
domctl->u.vcpu_msrs.msr_count);
break;
+ case VKI_XEN_DOMCTL_monitor_op:
+ switch (domctl->interface_version) {
+ case 0x000000b:
+ if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE ||
+ domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_ENABLE) {
+ switch(domctl->u.monitor_op_0000000b.event) {
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
+ __PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.mov_to_cr);
+ break;
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR:
+ __PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.mov_to_msr);
+ break;
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST:
+ __PRE_XEN_DOMCTL_READ(monitor_op, monitor_op_0000000b, u.guest_request);
+ break;
+ }
+ }
+
+ break;
+ }
+ break;
+
default:
bad_subop(tid, layout, arrghs, status, flags,
"__HYPERVISOR_domctl", domctl->cmd);
@@ -1669,6 +1798,7 @@
case 0x00000008:
case 0x00000009:
case 0x0000000a:
+ case 0x0000000b:
break;
default:
return;
@@ -1720,10 +1850,23 @@
break;
case VKI_XEN_DOMCTL_gettscinfo:
- __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.tsc_mode);
- __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.gtsc_khz);
- __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.incarnation);
- __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.elapsed_nsec);
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __POST_XEN_DOMCTL_WRITE(gettscinfo, tsc_info_00000007, out_info);
+ POST_MEM_WRITE((Addr)domctl->u.tsc_info_00000007.out_info.p,
+ sizeof(vki_xen_guest_tsc_info_t));
+ break;
+ case 0x0000000b:
+ __POST_XEN_DOMCTL_WRITE(gettscinfo, tsc_info_0000000b, tsc_mode);
+ __POST_XEN_DOMCTL_WRITE(gettscinfo, tsc_info_0000000b, gtsc_khz);
+ __POST_XEN_DOMCTL_WRITE(gettscinfo, tsc_info_0000000b, incarnation);
+ __POST_XEN_DOMCTL_WRITE(gettscinfo, tsc_info_0000000b, elapsed_nsec);
+ break;
+ }
+ break;
break;
case VKI_XEN_DOMCTL_getvcpuinfo:
@@ -1959,10 +2102,42 @@
break;
case VKI_XEN_DOMCTL_mem_event_op:
- POST_XEN_DOMCTL_WRITE(mem_event_op, port);
+ //case VKI_XEN_DOMCTL_vm_event_op: /* name change in 4.6 */
+ switch (domctl->interface_version) {
+ case 0x00000007: /* pre-4.6 */
+ case 0x00000008:
+ case 0x00000009:
+ case 0x0000000a:
+ __POST_XEN_DOMCTL_WRITE(mem_event_op, mem_event_op_00000007, port);
+ break;
+ case 0x0000000b:
+ __POST_XEN_DOMCTL_WRITE(vm_event_op, vm_event_op_0000000b, port);
+ break;
+ }
+ break;
- break;
+ case VKI_XEN_DOMCTL_monitor_op:
+ switch (domctl->interface_version) {
+ case 0x000000b:
+ if (domctl->u.monitor_op_0000000b.op == VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES) {
+ switch(domctl->u.monitor_op_0000000b.event) {
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG:
+ __POST_XEN_DOMCTL_WRITE(monitor_op, monitor_op_0000000b, u.mov_to_cr);
+ break;
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR:
+ __POST_XEN_DOMCTL_WRITE(monitor_op, monitor_op_0000000b, u.mov_to_msr);
+ break;
+ case VKI_XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST:
+ __POST_XEN_DOMCTL_WRITE(monitor_op, monitor_op_0000000b, u.guest_request);
+ break;
+ }
+ }
+
+ break;
+ }
+ break;
}
+
#undef POST_XEN_DOMCTL_WRITE
#undef __POST_XEN_DOMCTL_WRITE
}
Modified: trunk/include/vki/vki-xen-domctl.h
==============================================================================
--- trunk/include/vki/vki-xen-domctl.h (original)
+++ trunk/include/vki/vki-xen-domctl.h Wed May 10 18:37:35 2017
@@ -36,6 +36,7 @@
* - 0x00000008: Xen 4.2
* - 0x00000009: Xen 4.3 & 4.4
* - 0x0000000a: Xen 4.5
+ * - 0x0000000b: Xen 4.6
*
* When adding a new subop be sure to include the variants used by all
* of the above, both here and in syswrap-xen.c
@@ -99,6 +100,7 @@
#define VKI_XEN_DOMCTL_debug_op 54
#define VKI_XEN_DOMCTL_gethvmcontext_partial 55
#define VKI_XEN_DOMCTL_mem_event_op 56
+#define VKI_XEN_DOMCTL_vm_event_op 56 /* name change in 4.6 */
#define VKI_XEN_DOMCTL_mem_sharing_op 57
#define VKI_XEN_DOMCTL_disable_migrate 58
#define VKI_XEN_DOMCTL_gettscinfo 59
@@ -116,6 +118,7 @@
#define VKI_XEN_DOMCTL_cacheflush 71
#define VKI_XEN_DOMCTL_get_vcpu_msrs 72
#define VKI_XEN_DOMCTL_set_vcpu_msrs 73
+#define VKI_XEN_DOMCTL_monitor_op 77 /* new in 4.6 */
#define VKI_XEN_DOMCTL_gdbsx_guestmemio 1000
#define VKI_XEN_DOMCTL_gdbsx_pausevcpu 1001
#define VKI_XEN_DOMCTL_gdbsx_unpausevcpu 1002
@@ -351,6 +354,22 @@
typedef struct vki_xen_guest_tsc_info vki_xen_guest_tsc_info_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_guest_tsc_info_t);
+struct vki_xen_domctl_tsc_info_00000007 {
+ VKI_XEN_GUEST_HANDLE_64(vki_xen_guest_tsc_info_t) out_info; /* OUT */
+ vki_xen_guest_tsc_info_t info; /* IN */
+};
+
+/* 4.6 removed the output pointer */
+struct vki_xen_domctl_tsc_info_0000000b {
+ /* IN/OUT */
+ vki_uint32_t tsc_mode;
+ vki_uint32_t gtsc_khz;
+ vki_uint32_t incarnation;
+ vki_uint32_t pad;
+ vki_xen_uint64_aligned_t elapsed_nsec;
+};
+
+
struct vki_xen_domctl_hvmcontext {
vki_uint32_t size; /* IN/OUT size of buffer */
VKI_XEN_GUEST_HANDLE_64(vki_uint8) buffer; /* IN/OUT */
@@ -366,10 +385,6 @@
typedef struct vki_xen_domctl_hvmcontext_partial vki_xen_domctl_hvmcontext_partial_t;
DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_hvmcontext_partial_t);
-struct vki_xen_domctl_tsc_info {
- VKI_XEN_GUEST_HANDLE_64(vki_xen_guest_tsc_info_t) out_info; /* OUT */
- vki_xen_guest_tsc_info_t info; /* IN */
-};
struct vki_xen_domctl_pin_mem_cacheattr {
vki_xen_uint64_aligned_t start, end; /* IN */
@@ -425,22 +440,44 @@
vki_uint32_t size;
};
-struct vki_xen_domctl_assign_device {
+/* vki_xen_domctl_assign_device_00000007 is the same up to version 0x0000000b */
+struct vki_xen_domctl_assign_device_00000007 {
vki_uint32_t machine_sbdf; /* machine PCI ID of assigned device */
};
+#define VKI_XEN_DOMCTL_DEV_PCI 0
+#define VKI_XEN_DOMCTL_DEV_DT 1
+struct vki_xen_domctl_assign_device_0000000b {
+ vki_uint32_t dev; /* XEN_DOMCTL_DEV_* */
+ union {
+ struct {
+ vki_uint32_t machine_sbdf; /* machine PCI ID of assigned device */
+ } pci;
+ struct {
+ vki_uint32_t size; /* Length of the path */
+ VKI_XEN_GUEST_HANDLE_64(vki_uint8) path; /* path to the device tree node */
+ } dt;
+ } u;
+ /* IN */
+//#define XEN_DOMCTL_DEV_RDM_RELAXED 1
+ vki_uint32_t flag; /* flag of assigned device */
+};
+
struct vki_xen_domctl_debug_op {
vki_uint32_t op; /* IN */
vki_uint32_t vcpu; /* IN */
};
typedef struct vki_xen_domctl_debug_op vki_xen_domctl_debug_op_t;
-struct vki_xen_domctl_mem_event_op {
+struct vki_xen_domctl_mem_event_op_00000007 {
vki_uint32_t op; /* IN */
vki_uint32_t mode; /* IN */
vki_uint32_t port; /* OUT */
};
+/* only a name change in 4.6 */
+typedef struct vki_xen_domctl_mem_event_op_00000007 vki_xen_domctl_vm_event_op_0000000b;
+
struct vki_xen_domctl_set_access_required {
vki_uint8_t access_required; /* IN */
};
@@ -468,6 +505,54 @@
VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_vcpu_msr_t) msrs;
};
+#define VKI_XEN_DOMCTL_MONITOR_OP_ENABLE 0
+#define VKI_XEN_DOMCTL_MONITOR_OP_DISABLE 1
+#define VKI_XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES 2
+
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG 0
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR 1
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP 2
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT 3
+#define VKI_XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST 4
+
+struct vki_xen_domctl_monitor_op_0000000b {
+ vki_uint32_t op; /* vki_xen_DOMCTL_MONITOR_OP_* */
+
+ /*
+ * When used with ENABLE/DISABLE this has to be set to
+ * the requested vki_xen_DOMCTL_MONITOR_EVENT_* value.
+ * With GET_CAPABILITIES this field returns a bitmap of
+ * events supported by the platform, in the format
+ * (1 << vki_xen_DOMCTL_MONITOR_EVENT_*).
+ */
+ vki_uint32_t event;
+
+ /*
+ * Further options when issuing vki_xen_DOMCTL_MONITOR_OP_ENABLE.
+ */
+ union {
+ struct {
+ /* Which control register */
+ vki_uint8_t index;
+ /* Pause vCPU until response */
+ vki_uint8_t sync;
+ /* Send event only on a change of value */
+ vki_uint8_t onchangeonly;
+ } mov_to_cr;
+
+ struct {
+ /* Enable the capture of an extended set of MSRs */
+ vki_uint8_t extended_capture;
+ } mov_to_msr;
+
+ struct {
+ /* Pause vCPU until response */
+ vki_uint8_t sync;
+ } guest_request;
+ } u;
+};
+
+
struct vki_xen_domctl {
vki_uint32_t cmd;
vki_uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
@@ -499,14 +584,16 @@
//struct vki_xen_domctl_arch_setup arch_setup;
struct vki_xen_domctl_settimeoffset settimeoffset;
//struct vki_xen_domctl_disable_migrate disable_migrate;
- struct vki_xen_domctl_tsc_info tsc_info;
+ struct vki_xen_domctl_tsc_info_00000007 tsc_info_00000007;
+ struct vki_xen_domctl_tsc_info_0000000b tsc_info_0000000b;
//struct vki_xen_domctl_real_mode_area real_mode_area;
struct vki_xen_domctl_hvmcontext hvmcontext;
struct vki_xen_domctl_hvmcontext_partial hvmcontext_partial;
struct vki_xen_domctl_address_size address_size;
//struct vki_xen_domctl_sendtrigger sendtrigger;
//struct vki_xen_domctl_get_device_group get_device_group;
- struct vki_xen_domctl_assign_device assign_device;
+ struct vki_xen_domctl_assign_device_00000007 assign_device_00000007;
+ struct vki_xen_domctl_assign_device_0000000b assign_device_0000000b;
//struct vki_xen_domctl_bind_pt_irq bind_pt_irq;
//struct vki_xen_domctl_memory_mapping memory_mapping;
//struct vki_xen_domctl_ioport_mapping ioport_mapping;
@@ -516,7 +603,8 @@
//struct vki_xen_domctl_set_target set_target;
//struct vki_xen_domctl_subscribe subscribe;
struct vki_xen_domctl_debug_op debug_op;
- struct vki_xen_domctl_mem_event_op mem_event_op;
+ struct vki_xen_domctl_mem_event_op_00000007 mem_event_op_00000007;
+ vki_xen_domctl_vm_event_op_0000000b vm_event_op_0000000b;
//struct vki_xen_domctl_mem_sharing_op mem_sharing_op;
#if defined(__i386__) || defined(__x86_64__)
struct vki_xen_domctl_cpuid cpuid;
@@ -532,6 +620,7 @@
struct vki_xen_domctl_cacheflush cacheflush;
//struct vki_xen_domctl_gdbsx_pauseunp_vcpu gdbsx_pauseunp_vcpu;
//struct vki_xen_domctl_gdbsx_domstatus gdbsx_domstatus;
+ struct vki_xen_domctl_monitor_op_0000000b monitor_op_0000000b;
vki_uint8_t pad[128];
} u;
};
|
|
From: <sv...@va...> - 2017-05-10 16:18:20
|
Author: petarj
Date: Wed May 10 17:18:12 2017
New Revision: 16353
Log:
mips64: finetune cvm_atomic_thread test
Remove unnecessary logs from the expected output.
Modified:
trunk/none/tests/mips64/cvm_atomic_thread.c
trunk/none/tests/mips64/cvm_atomic_thread.stdout.exp
Modified: trunk/none/tests/mips64/cvm_atomic_thread.c
==============================================================================
--- trunk/none/tests/mips64/cvm_atomic_thread.c (original)
+++ trunk/none/tests/mips64/cvm_atomic_thread.c Wed May 10 17:18:12 2017
@@ -311,8 +311,6 @@
long long int* p2[N];
pid_t child, pc2;
- printf("parent, pre-fork\n");
-
for (i = 0; i < N; i++) {
page[i] = mmap( 0, sysconf(_SC_PAGESIZE),
PROT_READ|PROT_WRITE,
@@ -342,7 +340,6 @@
if (child == 0) {
/* --- CHILD --- */
- printf("child\n");
for (i = 0; i < NNN; i++) {
atomic_saa(p1[0], i);
atomic_saad(p2[0], i + 98765 ); /* ensure we hit the upper 32 bits */
@@ -377,8 +374,6 @@
}
/* --- PARENT --- */
- printf("parent\n");
-
for (i = 0; i < NNN; i++) {
atomic_saa(p1[0], i);
atomic_saad(p2[0], i + 98765); /* ensure we hit the upper 32 bits */
Modified: trunk/none/tests/mips64/cvm_atomic_thread.stdout.exp
==============================================================================
--- trunk/none/tests/mips64/cvm_atomic_thread.stdout.exp (original)
+++ trunk/none/tests/mips64/cvm_atomic_thread.stdout.exp Wed May 10 17:18:12 2017
@@ -1,7 +1,3 @@
-parent, pre-fork
-child
-parent, pre-fork
-parent
Store Atomic Add: 32 bit 2156643710, 64 bit 12633614303292
Load Atomic Add: 32 bit 2156643710, 64 bit 12633614303292
Load Atomic Swap: 32 bit 3456986, 64 bit 3555751
|
|
From: Mineeva, T. A <tat...@in...> - 2017-05-10 16:13:39
|
Hello Ivo, Could you please explain how to connect to Valgrind SVN through 'socat' tunneling? Also, do I understand correctly that the Git repository does not update along with the svn trunk yet? The latest Git commit I can pull is from March, 4, "Convert release-HOWTO.txt from SVN to GIT". Regards, Tanya -----Original Message----- From: Knapp, Rashawn L Sent: Thursday, March 30, 2017 12:41 AM To: Ivo Raisr <iv...@iv...>; Mineeva, Tatyana A <tat...@in...> Cc: val...@li... Subject: RE: [Valgrind-developers] Valgrind repository access and AVX-512 development progress Thank you everyone who offered svn and git access help. For now, we have resolved the git clone issue; we will tackle the svn checkout late. We did need to contact corporate system administrators and we were able to resolve our git clone issue using, as Ivo suggests, socat and configuration file creations which identify the correct proxy server and protocol. The difficult part was that this was not straightforward for us as the process on our end was different this time for this public git repo. Regards, -Rashawn -----Original Message----- From: Ivo Raisr [mailto:iv...@iv...] Sent: Wednesday, March 29, 2017 2:30 PM To: Mineeva, Tatyana A <tat...@in...> Cc: val...@li... Subject: Re: [Valgrind-developers] Valgrind repository access and AVX-512 development progress 2017-03-29 18:21 GMT+02:00 Julian Seward <js...@ac...>: > On 29/03/17 17:54, Mineeva, Tatyana A wrote: >> Our team cannot access the Valgrind Subversion repository: >> $ svn co svn://svn.valgrind.org/valgrind/trunk valgrind >> svn: Can't connect to host 'svn.valgrind.org': Connection timed out >> Is the this repository functional, or should we switch to the git repository? > > The SVN repo works fine. I've been using it this afternoon and > committed to it just a few minutes ago. So as Eliot says, this is > probably a corporate firewall problem. Such things have happened before. Indeed, corporate proxy problem. Unfortunately svn.valgrind.org does not offer access via http:// (which would allow to specify http proxy at hand). So in our corporate settings, I ended up with a horrible hack using 'socat' tunneling. I can share details if you are interested. >> We do not currently have success cloning the Valgrind git repository: >> $ git clone git://sourceware.org/git/valgrind.git >> Cloning into 'valgrind'... >> fatal: unable to connect to sourceware.org: >> sourceware.org[0: 209.132.180.131]: errno=Connection timed out > > I don't know. Ivo might know more. Ivo? Two commets here: 1) valgrind.git at sourceware.org is still unofficial, testing repo. And it will remain so until migration from SVN to GIT happens, which is bound after 3.13 release is done. 2) Again, your corporate firewall is blocking access here. I. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Valgrind-developers mailing list Val...@li... https://lists.sourceforge.net/lists/listinfo/valgrind-developers -------------------------------------------------------------------- Joint Stock Company Intel A/O Registered legal address: Krylatsky Hills Business Park, 17 Krylatskaya Str., Bldg 4, Moscow 121614, Russian Federation This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. |
|
From: <sv...@va...> - 2017-05-10 12:52:48
|
Author: iraisr
Date: Wed May 10 13:52:40 2017
New Revision: 16352
Log:
Reduce the number of compiler warnings on MIPS platforms.
Patch by: Tamara Vlahovic <tam...@im...>
Partially fixes BZ#370028.
Modified:
trunk/memcheck/mc_main.c
Modified: trunk/memcheck/mc_main.c
==============================================================================
--- trunk/memcheck/mc_main.c (original)
+++ trunk/memcheck/mc_main.c Wed May 10 13:52:40 2017
@@ -277,9 +277,12 @@
return (start_of_this_sm(a) == a);
}
+STATIC_ASSERT(SM_CHUNKS % 2 == 0);
+
typedef
- struct {
+ union {
UChar vabits8[SM_CHUNKS];
+ UShort vabits16[SM_CHUNKS/2];
}
SecMap;
@@ -1383,7 +1386,7 @@
&& nBits == 64 && VG_IS_8_ALIGNED(a))) {
SecMap* sm = get_secmap_for_reading(a);
UWord sm_off16 = SM_OFF_16(a);
- UWord vabits16 = ((UShort*)(sm->vabits8))[sm_off16];
+ UWord vabits16 = sm->vabits16[sm_off16];
if (LIKELY(vabits16 == VA_BITS16_DEFINED))
return V_BITS64_DEFINED;
if (LIKELY(vabits16 == VA_BITS16_UNDEFINED))
@@ -1536,7 +1539,7 @@
&& nBits == 64 && VG_IS_8_ALIGNED(a))) {
SecMap* sm = get_secmap_for_reading(a);
UWord sm_off16 = SM_OFF_16(a);
- UWord vabits16 = ((UShort*)(sm->vabits8))[sm_off16];
+ UWord vabits16 = sm->vabits16[sm_off16];
if (LIKELY( !is_distinguished_sm(sm) &&
(VA_BITS16_DEFINED == vabits16 ||
VA_BITS16_UNDEFINED == vabits16) )) {
@@ -1544,10 +1547,10 @@
/* is mapped, and is addressible. */
// Convert full V-bits in register to compact 2-bit form.
if (LIKELY(V_BITS64_DEFINED == vbytes)) {
- ((UShort*)(sm->vabits8))[sm_off16] = (UShort)VA_BITS16_DEFINED;
+ sm->vabits16[sm_off16] = VA_BITS16_DEFINED;
return;
} else if (V_BITS64_UNDEFINED == vbytes) {
- ((UShort*)(sm->vabits8))[sm_off16] = (UShort)VA_BITS16_UNDEFINED;
+ sm->vabits16[sm_off16] = VA_BITS16_UNDEFINED;
return;
}
/* else fall into the slow case */
@@ -1744,7 +1747,7 @@
if (lenA < 8) break;
PROF_EVENT(MCPE_SET_ADDRESS_RANGE_PERMS_LOOP8A);
sm_off16 = SM_OFF_16(a);
- ((UShort*)(sm->vabits8))[sm_off16] = vabits16;
+ sm->vabits16[sm_off16] = vabits16;
a += 8;
lenA -= 8;
}
@@ -1817,7 +1820,7 @@
if (lenB < 8) break;
PROF_EVENT(MCPE_SET_ADDRESS_RANGE_PERMS_LOOP8B);
sm_off16 = SM_OFF_16(a);
- ((UShort*)(sm->vabits8))[sm_off16] = vabits16;
+ sm->vabits16[sm_off16] = vabits16;
a += 8;
lenB -= 8;
}
@@ -2760,7 +2763,7 @@
sm = get_secmap_for_writing_low(a);
sm_off16 = SM_OFF_16(a);
- ((UShort*)(sm->vabits8))[sm_off16] = VA_BITS16_UNDEFINED;
+ sm->vabits16[sm_off16] = VA_BITS16_UNDEFINED;
}
#endif
}
@@ -2804,7 +2807,7 @@
sm = get_secmap_for_writing_low(a);
sm_off16 = SM_OFF_16(a);
- ((UShort*)(sm->vabits8))[sm_off16] = VA_BITS16_NOACCESS;
+ sm->vabits16[sm_off16] = VA_BITS16_NOACCESS;
//// BEGIN inlined, specialised version of MC_(helperc_b_store8)
//// Clear the origins for a+0 .. a+7.
@@ -3633,9 +3636,9 @@
/* Now we know that the entire address range falls within a
single secondary map, and that that secondary 'lives' in
the main primary map. */
- SecMap* sm = get_secmap_for_writing_low(a_lo);
- UWord v_off = SM_OFF(a_lo);
- UShort* p = (UShort*)(&sm->vabits8[v_off]);
+ SecMap* sm = get_secmap_for_writing_low(a_lo);
+ UWord v_off16 = SM_OFF_16(a_lo);
+ UShort* p = &sm->vabits16[v_off16];
p[ 0] = VA_BITS16_UNDEFINED;
p[ 1] = VA_BITS16_UNDEFINED;
p[ 2] = VA_BITS16_UNDEFINED;
@@ -3686,9 +3689,9 @@
/* Now we know that the entire address range falls within a
single secondary map, and that that secondary 'lives' in
the main primary map. */
- SecMap* sm = get_secmap_for_writing_low(a_lo);
- UWord v_off = SM_OFF(a_lo);
- UShort* p = (UShort*)(&sm->vabits8[v_off]);
+ SecMap* sm = get_secmap_for_writing_low(a_lo);
+ UWord v_off16 = SM_OFF_16(a_lo);
+ UShort* p = &sm->vabits16[v_off16];
p[ 0] = VA_BITS16_UNDEFINED;
p[ 1] = VA_BITS16_UNDEFINED;
p[ 2] = VA_BITS16_UNDEFINED;
@@ -3830,9 +3833,9 @@
/* Now we know that the entire address range falls within a
single secondary map, and that that secondary 'lives' in
the main primary map. */
- SecMap* sm = get_secmap_for_writing_low(a_lo);
- UWord v_off = SM_OFF(a_lo);
- UShort* p = (UShort*)(&sm->vabits8[v_off]);
+ SecMap* sm = get_secmap_for_writing_low(a_lo);
+ UWord v_off16 = SM_OFF_16(a_lo);
+ UShort* p = &sm->vabits16[v_off16];
p[ 0] = VA_BITS16_UNDEFINED;
p[ 1] = VA_BITS16_UNDEFINED;
p[ 2] = VA_BITS16_UNDEFINED;
@@ -3867,9 +3870,9 @@
/* Now we know that the entire address range falls within a
single secondary map, and that that secondary 'lives' in
the main primary map. */
- SecMap* sm = get_secmap_for_writing_low(a_lo);
- UWord v_off = SM_OFF(a_lo);
- UShort* p = (UShort*)(&sm->vabits8[v_off]);
+ SecMap* sm = get_secmap_for_writing_low(a_lo);
+ UWord v_off16 = SM_OFF_16(a_lo);
+ UShort* p = &sm->vabits16[v_off16];
p[ 0] = VA_BITS16_UNDEFINED;
p[ 1] = VA_BITS16_UNDEFINED;
p[ 2] = VA_BITS16_UNDEFINED;
@@ -3982,7 +3985,7 @@
PROF_EVENT(MCPE_MAKE_STACK_UNINIT_128_NO_O_ALIGNED_16);
SecMap* sm = get_secmap_for_writing_low(a_lo);
UWord v_off = SM_OFF(a_lo);
- UInt* w32 = (UInt*)(&sm->vabits8[v_off]);
+ UInt* w32 = ASSUME_ALIGNED(UInt*, &sm->vabits8[v_off]);
w32[ 0] = VA_BITS32_UNDEFINED;
w32[ 1] = VA_BITS32_UNDEFINED;
w32[ 2] = VA_BITS32_UNDEFINED;
@@ -4015,10 +4018,10 @@
/* Now we know that the entire address range falls within a
single secondary map, and that that secondary 'lives' in
the main primary map. */
- SecMap* sm = get_secmap_for_writing_low(a_lo);
- UWord v_off = SM_OFF(a_lo);
- UShort* w16 = (UShort*)(&sm->vabits8[v_off]);
- UInt* w32 = (UInt*)(&w16[1]);
+ SecMap* sm = get_secmap_for_writing_low(a_lo);
+ UWord v_off16 = SM_OFF_16(a_lo);
+ UShort* w16 = &sm->vabits16[v_off16];
+ UInt* w32 = ASSUME_ALIGNED(UInt*, &w16[1]);
/* The following assertion is commented out for obvious
performance reasons, but was verified as valid when
running the entire testsuite and also Firefox. */
@@ -4769,7 +4772,7 @@
for (j = 0; j < nULongs; j++) {
sm = get_secmap_for_reading_low(a + 8*j);
sm_off16 = SM_OFF_16(a + 8*j);
- vabits16 = ((UShort*)(sm->vabits8))[sm_off16];
+ vabits16 = sm->vabits16[sm_off16];
// Convert V bits from compact memory form to expanded
// register form.
@@ -4831,7 +4834,7 @@
sm = get_secmap_for_reading_low(a);
sm_off16 = SM_OFF_16(a);
- vabits16 = ((UShort*)(sm->vabits8))[sm_off16];
+ vabits16 = sm->vabits16[sm_off16];
// Handle common case quickly: a is suitably aligned, is mapped, and
// addressible.
@@ -4965,7 +4968,7 @@
sm = get_secmap_for_reading_low(a);
sm_off16 = SM_OFF_16(a);
- vabits16 = ((UShort*)(sm->vabits8))[sm_off16];
+ vabits16 = sm->vabits16[sm_off16];
// To understand the below cleverness, see the extensive comments
// in MC_(helperc_STOREV8).
@@ -4974,7 +4977,7 @@
return;
}
if (!is_distinguished_sm(sm) && VA_BITS16_UNDEFINED == vabits16) {
- ((UShort*)(sm->vabits8))[sm_off16] = (UShort)VA_BITS16_DEFINED;
+ sm->vabits16[sm_off16] = VA_BITS16_DEFINED;
return;
}
PROF_EVENT(MCPE_STOREV64_SLOW2);
@@ -4986,7 +4989,7 @@
return;
}
if (!is_distinguished_sm(sm) && VA_BITS16_DEFINED == vabits16) {
- ((UShort*)(sm->vabits8))[sm_off16] = (UShort)VA_BITS16_UNDEFINED;
+ sm->vabits16[sm_off16] = VA_BITS16_UNDEFINED;
return;
}
PROF_EVENT(MCPE_STOREV64_SLOW3);
|
|
From: <sv...@va...> - 2017-05-10 09:12:11
|
Author: sewardj
Date: Wed May 10 10:12:01 2017
New Revision: 16351
Log:
Even more bug list updates, to catch up with recently reported bugs.
Modified:
trunk/NEWS
trunk/docs/internals/3_12_BUGSTATUS.txt
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 10 10:12:01 2017
@@ -105,6 +105,8 @@
348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
352395 Please provide SVN revision info in --version -v
352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
+356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid !=
+ INVALID_POSIX_THREADID' failed
358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread
barrier implementation
358697 valgrind.h: Some code remains even when defining NVALGRIND
@@ -147,6 +149,7 @@
375839 Temporary storage exhausted, with long sequence of vfmadd231ps insns
== 377159 "vex: the `impossible' happened" still present
== 375150 Assertion 'tres.status == VexTransOK' failed
+ == 378068 valgrind crashes on AVX2 function in FFmpeg
376142 Segfaults on MIPS Cavium Octeon boards
376279 disInstr(arm64): unhandled instruction 0xD50320FF
376455 Solaris: unhandled syscall lgrpsys(180)
@@ -166,6 +169,7 @@
and 2 args for FUTEX_TRYLOCK_PI
377717 Fix massive space leak when reading compressed debuginfo sections
377930 fcntl syscall wrapper is missing flock structure check
+378524 libvexmultiarch_test regression on s390x and ppc64
378535 Valgrind reports INTERNAL ERROR in execve syscall wrapper
378673 Update libiberty demangler
378931 Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support
@@ -178,7 +182,7 @@
379390 unhandled syscall: mach:70 (host_create_mach_voucher_trap)
379473 MIPS: add support for rdhwr cycle counter register
379504 remove TileGX/Linux port
-356374 Assertion 'DRD_(g_threadinfo)[tid].pt_threadid != INVALID_POSIX_THREADID' failed
+
Release 3.12.0 (20 October 2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/docs/internals/3_12_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_12_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_12_BUGSTATUS.txt Wed May 10 10:12:01 2017
@@ -33,6 +33,8 @@
377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
PIE enabled by default
+379525 Support more x86 nop opcodes
+
AMD XOP-prefixed insns:
(carried over)
@@ -80,6 +82,8 @@
373990 Potential shift left overflow in guest_arm_toIR.c
[suggested fix available]
+378249 Valgrind Crashed on raspberian armv71 instrtuction set
+
=== VEX/arm64 ==========================================================
368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)
@@ -91,6 +95,8 @@
371503 disInstr(arm64): unhandled instruction 0xF89F0000 (prfum)
+377966 disInstr(arm64): unhandled instruction 0xD50B7425
+
=== VEX/x86 ============================================================
=== VEX/mips ===========================================================
@@ -182,6 +188,10 @@
372861 Test pselect_alarm for Bug 359871 seg faults on RHEL 4
[has a suggested solution]
+377891 Update Xen 4.6 domctl wrappers
+
+378892 Unhandled amd64-linux syscall: 324
+
=== Syscalls/ioctls on OSX =============================================
(carried over)
@@ -259,6 +269,13 @@
371770 Memleak trace back for overwritten or freed memory pointers
[wishlist]
+377463 Uninitialized parameters to VALGRIND_MAKE_MEM_NOACCESS() not warned
+ about. [wishlist]
+
+378622 False positive with GCC 6.3.1 and -funswitch-loops (-O3)
+
+378627 False positive with GCC 6.3.1 and -fno-ipa-cp-clone (-O3)
+
=== Tools/DRD ==========================================================
(carried over)
@@ -390,6 +407,9 @@
376870 The impossible happened on Mavericks 10.9
+379373 Syscall param msg->desc.port.name points to uninitialised byte(s)
+ on macOS 10.12
+
=== other/Win32 ========================================================
=== other/*BSD =========================================================
@@ -422,6 +442,8 @@
368873 Please add FreeBSD to supported OS list
+378430 www: update Valgrind alias mirrors
+
=== Uncategorised/run ==================================================
(carried over)
@@ -439,6 +461,8 @@
377006 valgrind/memcheck segfaults under certain kernel versions (amd64)
but not others.
+379273 Phone restarts when run with valgrind
+
=== Uncategorised/build ================================================
(carried over)
@@ -454,6 +478,10 @@
377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
PIE enabled by default
+379502 Checking the code of Valgrind dynamic analyzer by a static analyzer
+
+379537 Client requests can't be used in C++11 constexpr functions
+
=== Intel Compiler problems ============================================
(carried over)
@@ -480,6 +508,8 @@
Mon 6 Mar 21:02:39 CET 2017
+Wed 10 May 10:24:16 CEST 2017
+
========================================================================
========================================================================
========================================================================
@@ -541,11 +571,18 @@
372828 vex amd64->IR: 0x66 0x4D 0xF 0x38 0xF6 0xD2 0x66 0x4D
**
+374963 increase valgrind's load address to prevent mmap failure
+maybe change to 0x5800'0000
+
+**
377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
PIE enabled by default
[Ivosh will fix it as it is annoying]
**
+377891 Update Xen 4.6 domctl wrappers
+
+**
n-i-bz major perf problems w/ stack registration + stack recycling
Should be fixed. Try again with ./mach gtest
@@ -595,9 +632,23 @@
373990 Potential shift left overflow in guest_arm_toIR.c
[suggested fix available]
-**
-374963 increase valgrind's load address to prevent mmap failure
-maybe change to 0x5800'0000
+*
+377966 disInstr(arm64): unhandled instruction 0xD50B7425
+
+*
+378430 www: update Valgrind alias mirrors
+
+*
+378622 False positive with GCC 6.3.1 and -funswitch-loops (-O3)
+
+*
+378627 False positive with GCC 6.3.1 and -fno-ipa-cp-clone (-O3)
+
+*
+378892 Unhandled amd64-linux syscall: 324
+
+*
+379525 Support more x86 nop opcodes
*
n-i-bz Remove limit on strd's negative immediates
|
|
From: <sv...@va...> - 2017-05-10 06:59:41
|
Author: sewardj
Date: Wed May 10 07:59:34 2017
New Revision: 16350
Log:
Update and prioritise fix-list for 3.13.
Modified:
trunk/docs/internals/3_12_BUGSTATUS.txt
Modified: trunk/docs/internals/3_12_BUGSTATUS.txt
==============================================================================
--- trunk/docs/internals/3_12_BUGSTATUS.txt (original)
+++ trunk/docs/internals/3_12_BUGSTATUS.txt Wed May 10 07:59:34 2017
@@ -483,49 +483,127 @@
========================================================================
========================================================================
========================================================================
-Should take in:
+Should fix for 3.13:
+** = higher priority, do these first
+* = lower priority, do these if time available
+
+**
+352364 ppc64: --expensive-definedness-checks=yes is not quite working here
+
+**
360415 amd64 instructions ADCX and ADOX are not implemented in VEX
[has a plausible patch]
-339596 AMD64 xop instructions unsupported. vex amd64->IR: unhandled instruction bytes: 0x8F 0xE8 0x78 0xCD 0xC1 0x4 0xC5 0xF9
- [has plausible patches]
+**
+360429 Warning: noted but unhandled ioctl 0x530d with no size/direction hints.
+ (has patch, should take)
-322935 disInstr(arm): unhandled instruction: 0xF1010200, valgrind: Unrecognised instruction on Raspbian
- [should document that Raspian is not supported]
+**
+362223 assertion failed when .valgrindrc is a directory instead of a file
+ [really easy to fix]
-360429 Warning: noted but unhandled ioctl 0x530d with no size/direction hints.
- [has patch, should take]
+**
+(carried over)
+367543 bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags
+ [Z flag behaviour is wrong]
-368791 unhandled syscall: 167 (swapon, amd64-linux)
- [hoist mips64-linux specific wrapper as a linux specific one]
+**
+(carried over)
+368507 valgrind throws std::bad_alloc on memory allocations larger
+ than 34255421416 bytes
+ (increase usable address space post release, on trunk)
+
+**
+368868 disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)
+ (should fix this for 3.12.1)
+
+**
+369459 valgrind on arm64 violates the ARMv8 spec (ldxr/stxr)
+ (is mostly fixed)
+
+**
+370028 Reduce the number of compiler warnings on MIPS platforms
+(easy patch)
+
+**
+371491 handleAddrOverrides() is truncating the segment base address when
+ ASO prefix is used
+ [has patch, easy fix]
+
+**
+371503 disInstr(arm64): unhandled instruction 0xF89F0000
+
+**
+372188 vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)
+**
+372828 vex amd64->IR: 0x66 0x4D 0xF 0x38 0xF6 0xD2 0x66 0x4D
+
+**
+377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
+ PIE enabled by default
+ [Ivosh will fix it as it is annoying]
+
+**
+n-i-bz major perf problems w/ stack registration + stack recycling
+Should be fixed. Try again with ./mach gtest
+
+*
+371989 PCMPISTRM $0x72 validity bit propagation is imprecise
+(at least comment on it)
+
+*
+322935 disInstr(arm): unhandled instruction: 0xF1010200, valgrind:
+ Unrecognised instruction on Raspbian
+ [should document that Raspian is not supported]
+
+*
+(carried over)
+353192 Debug info/data section not detected on AMD64
+ [To do with rwx, combined code+data sections]
+
+*
+(carried over)
+358980 32 byte leak reported when code uses dlopen and links against pthread
+
+*
+(carried over)
+364279 False "Uninitialized" on atomic_compare_exchange
+
+*
368529 Android arm target link error, missing atexit and pthread_atfork
[has patch, should take]
-362223 assertion failed when .valgrindrc is a directory instead of a file
- [really easy to fix]
+*
+368791 unhandled syscall: 167 (swapon, amd64-linux)
+ [hoist mips64-linux specific wrapper as a linux specific one]
+*
369723 __builtin_longjmp not supported in clang/llvm on Android arm64 target
[has patch at android-review.googlesource.com]
-371491 handleAddrOverrides() is truncating the segment base address when
- ASO prefix is used
- [has patch, easy fix]
+*
+369854 Valgrind reports an Invalid Read in __intel_new_memcpy
+ Should be handled by --partial-loads-ok=yes
+
+*
+371396 helgrind and drd pth_cond_destroy_busy testcase hang with
+ new glibc cond var implementation (workaround committed as 16097)
+*
373990 Potential shift left overflow in guest_arm_toIR.c
[suggested fix available]
+**
374963 increase valgrind's load address to prevent mmap failure
- [has patch, requested documentation update]
+maybe change to 0x5800'0000
-377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
- PIE enabled by default
- [Ivosh will fix it as it is annoying]
+*
+n-i-bz Remove limit on strd's negative immediates
+ [dev@, Michael Daniels, 19 Nov 2015, easy fix, should land]
-368507 valgrind throws std::bad_alloc on memory allocations larger
- than 34255421416 bytes
- [should take in after 3.13]
+--------------------
========================================================================
========================================================================
|
Author: iraisr
Date: Wed May 10 06:43:03 2017
New Revision: 16349
Log:
Fix compilation problems with some unit tests on Ubuntu 16.10+.
Compiler produces position independent executables (PIE) by default
which gets in the way of some unit tests.
Fixes BZ#377066.
Modified:
trunk/NEWS
trunk/configure.ac
trunk/exp-bbv/tests/amd64-linux/Makefile.am
trunk/memcheck/tests/amd64-linux/Makefile.am
trunk/memcheck/tests/amd64/Makefile.am
trunk/none/tests/amd64/Makefile.am
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 10 06:43:03 2017
@@ -156,6 +156,8 @@
== 371668
376956 syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses
to be wrongly marked as addressable
+377066 Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
+ PIE enabled by default
377376 memcheck/tests/linux/getregset fails with glibc2.24
377427 PPC64, lxv instruction failing on odd destination register
377478 PPC64: ISA 3.0 setup fixes
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Wed May 10 06:43:03 2017
@@ -2177,6 +2177,28 @@
AM_CONDITIONAL([HAVE_ASM_CONSTRAINT_P], [test x$ac_have_asm_constraint_p = xyes])
+# Does this compiler support -no-pie?
+# On Ubuntu 16.10+, gcc produces position independent executables (PIE) by
+# default. However this gets in the way with some tests, we use -no-pie
+# for these.
+
+AC_MSG_CHECKING([if gcc accepts -no-pie])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-no-pie"
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
+ return 0;
+]])], [
+AC_SUBST([FLAG_NO_PIE], ["-no-pie"])
+AC_MSG_RESULT([yes])
+], [
+AC_SUBST([FLAG_NO_PIE], [""])
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+
# We want to use use the -Ttext-segment option to the linker.
# GNU (bfd) ld supports this directly. Newer GNU gold linkers
# support it as an alias of -Ttext. Sadly GNU (bfd) ld's -Ttext
Modified: trunk/exp-bbv/tests/amd64-linux/Makefile.am
==============================================================================
--- trunk/exp-bbv/tests/amd64-linux/Makefile.am (original)
+++ trunk/exp-bbv/tests/amd64-linux/Makefile.am Wed May 10 06:43:03 2017
@@ -40,3 +40,10 @@
check_PROGRAMS += ll
ll_SOURCES = ll.S
endif
+
+clone_test_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+complex_rep_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+fldcw_check_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+ll_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+million_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+rep_prefix_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
Modified: trunk/memcheck/tests/amd64-linux/Makefile.am
==============================================================================
--- trunk/memcheck/tests/amd64-linux/Makefile.am (original)
+++ trunk/memcheck/tests/amd64-linux/Makefile.am Wed May 10 06:43:03 2017
@@ -23,4 +23,4 @@
AM_CCASFLAGS += @FLAG_M64@
defcfaexpr_SOURCES = defcfaexpr.S
-
+defcfaexpr_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
Modified: trunk/memcheck/tests/amd64/Makefile.am
==============================================================================
--- trunk/memcheck/tests/amd64/Makefile.am (original)
+++ trunk/memcheck/tests/amd64/Makefile.am Wed May 10 06:43:03 2017
@@ -63,6 +63,7 @@
AM_CXXFLAGS += @FLAG_M64@
AM_CCASFLAGS += @FLAG_M64@
+fxsave_amd64_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
insn_pcmpistri_CFLAGS = $(AM_CFLAGS)
if VGCONF_OS_IS_SOLARIS
insn_pcmpistri_CFLAGS += --std=c99
@@ -70,4 +71,4 @@
more_x87_fp_CFLAGS = $(AM_CFLAGS) -O -ffast-math -mfpmath=387 \
-mfancy-math-387
more_x87_fp_LDADD = -lm
-
+shr_edx_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
Modified: trunk/none/tests/amd64/Makefile.am
==============================================================================
--- trunk/none/tests/amd64/Makefile.am (original)
+++ trunk/none/tests/amd64/Makefile.am Wed May 10 06:43:03 2017
@@ -172,7 +172,9 @@
# generic C ones
amd64locked_CFLAGS = $(AM_CFLAGS) -O
bug132918_LDADD = -lm
-fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@
+cmpxchg_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+fcmovnu_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ @FLAG_NO_PIE@
insn_basic_SOURCES = insn_basic.def
insn_basic_LDADD = -lm
insn_mmx_SOURCES = insn_mmx.def
@@ -194,6 +196,10 @@
fma4_CFLAGS += -D__EXTENSIONS__
endif
fma4_LDADD = -lm
+jrcxz_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+looper_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+sbbmisc_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
+shrld_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
.def.c: $(srcdir)/gen_insn_test.pl
$(PERL) $(srcdir)/gen_insn_test.pl < $< > $@
|
|
From: <sv...@va...> - 2017-05-10 05:39:13
|
Author: iraisr
Date: Wed May 10 06:38:57 2017
New Revision: 16348
Log:
Reduce the number of compiler warnings on MIPS platforms.
Patch by: Aleksandar Rikalo <ale...@im...>
Partially fixes BZ#370028.
Modified:
trunk/coregrind/m_libcbase.c
Modified: trunk/coregrind/m_libcbase.c
==============================================================================
--- trunk/coregrind/m_libcbase.c (original)
+++ trunk/coregrind/m_libcbase.c Wed May 10 06:38:57 2017
@@ -753,24 +753,26 @@
d++;
sz--;
}
+ UInt* d4 = ASSUME_ALIGNED(UInt*, d);
if (sz == 0)
return destV;
c4 = uc;
c4 |= (c4 << 8);
c4 |= (c4 << 16);
while (sz >= 16) {
- ((UInt*)d)[0] = c4;
- ((UInt*)d)[1] = c4;
- ((UInt*)d)[2] = c4;
- ((UInt*)d)[3] = c4;
- d += 16;
+ d4[0] = c4;
+ d4[1] = c4;
+ d4[2] = c4;
+ d4[3] = c4;
+ d4 += 4;
sz -= 16;
}
while (sz >= 4) {
- ((UInt*)d)[0] = c4;
- d += 4;
+ d4[0] = c4;
+ d4 += 1;
sz -= 4;
}
+ d = (UChar*) d4;
while (sz >= 1) {
d[0] = c;
d++;
@@ -824,7 +826,8 @@
#define BM_SWAP(a, b) \
swaptype != 0 \
? bm_swapfunc(a, b, es, swaptype) \
- : (void)BM_EXCH(*(Word*)(a), *(Word*)(b), t)
+ : (void)BM_EXCH(*ASSUME_ALIGNED(Word*, (a)), \
+ *ASSUME_ALIGNED(Word*, (b)), t)
#define BM_VECSWAP(a, b, n) \
if (n > 0) bm_swapfunc(a, b, n, swaptype)
@@ -833,7 +836,7 @@
if (swaptype != 0) \
pv = a, BM_SWAP(pv, pm); \
else \
- pv = (Char*)&v, v = *(Word*)pm
+ pv = (Char*)&v, v = *ASSUME_ALIGNED(Word*, pm)
static Char* bm_med3 ( Char* a, Char* b, Char* c,
Int (*cmp)(const void*, const void*) ) {
@@ -848,7 +851,7 @@
Word t;
for ( ; n > 0; a += sizeof(Word), b += sizeof(Word),
n -= sizeof(Word))
- BM_EXCH(*(Word*)a, *(Word*)b, t);
+ BM_EXCH(*ASSUME_ALIGNED(Word*, a), *ASSUME_ALIGNED(Word*, b), t);
} else {
Char t;
for ( ; n > 0; a += 1, b += 1, n -= 1)
|
|
From: <sv...@va...> - 2017-05-09 18:08:24
|
Author: philippe
Date: Tue May 9 19:08:16 2017
New Revision: 16347
Log:
Fix typo
Modified:
trunk/NEWS
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue May 9 19:08:16 2017
@@ -36,7 +36,7 @@
is handled like CLONE_VFORK (so removing CLONE_VM flag).
Applications that depends on CLONE_VM exact semantic will (still) not work.
- - TileGX/Linux port was removed because the platform is essientially dead.
+ - TileGX/Linux port was removed because the platform is essentially dead.
* ==================== TOOL CHANGES ====================
|