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
|
2
|
3
|
4
(3) |
5
(1) |
6
|
|
7
|
8
(10) |
9
(5) |
10
(1) |
11
(2) |
12
|
13
|
|
14
|
15
(3) |
16
|
17
|
18
(6) |
19
|
20
|
|
21
|
22
(3) |
23
|
24
|
25
(2) |
26
|
27
|
|
28
|
29
|
30
|
|
|
|
|
|
From: Mark W. <ma...@so...> - 2020-06-08 18:00:29
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=5902175ae91675b5aead2f0fc39d9396d53cb6e7 commit 5902175ae91675b5aead2f0fc39d9396d53cb6e7 Author: Julian Seward <js...@ac...> Date: Mon Jun 8 07:32:19 2020 +0200 -> 3.16.0 final (cherry picked from commit 108b4a0880bc04f9db6133f79a8e4a98dcfc0cd0) Diff: --- NEWS | 5 +++-- configure.ac | 2 +- docs/xml/vg-entities.xml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 6d6d1e4335..71a7a01e3c 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,5 @@ -Release 3.16.0 (22 May 2020) +Release 3.16.0 (27 May 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.16.0 is a feature release with many improvements and the usual collection of @@ -177,7 +177,8 @@ n-i-bz Fix non-glibc build of test suite with s390x_features n-i-bz MinGW, include/valgrind.h: Fix detection of 64-bit mode (3.16.0.RC1: 18 May 2020, git 6052ee66a0cf5234e8e2a2b49a8760226bc13b92) -(3.15.0.RC2: 19 May 2020, git 940ec1ca69a09f7fdae3e800b7359f85c13c4b37) +(3.16.0.RC2: 19 May 2020, git 940ec1ca69a09f7fdae3e800b7359f85c13c4b37) +(3.16.0: 27 May 2020, git bf5e647edb9e96cbd5c57cc944984402eeee296d) diff --git a/configure.ac b/configure.ac index ecd90e58fd..524230d57d 100755 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ ##------------------------------------------------------------## # Process this file with autoconf to produce a configure script. -AC_INIT([Valgrind],[3.16.0.RC2],[val...@li...]) +AC_INIT([Valgrind],[3.16.0],[val...@li...]) AC_CONFIG_SRCDIR(coregrind/m_main.c) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects]) diff --git a/docs/xml/vg-entities.xml b/docs/xml/vg-entities.xml index d95a285c3f..aa14f3b47e 100644 --- a/docs/xml/vg-entities.xml +++ b/docs/xml/vg-entities.xml @@ -7,7 +7,7 @@ <!-- valgrind release + version stuff --> <!ENTITY rel-type "Release"> <!ENTITY rel-version "3.16.0"> -<!ENTITY rel-date "22 May 2020"> +<!ENTITY rel-date "27 May 2020"> <!-- where the docs are installed --> <!ENTITY vg-docs-path "$INSTALL/share/doc/valgrind/html/index.html"> |
|
From: Mark W. <ma...@so...> - 2020-06-08 18:00:19
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=3f5b9ecfe86035d5b83eb587772bddb32531c467 commit 3f5b9ecfe86035d5b83eb587772bddb32531c467 Author: Julian Seward <js...@ac...> Date: Tue May 19 14:33:31 2020 +0200 -> 3.16.0.RC2 (cherry picked from commit bf5e647edb9e96cbd5c57cc944984402eeee296d) Diff: --- NEWS | 1 + configure.ac | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index e34e36bd01..6d6d1e4335 100644 --- a/NEWS +++ b/NEWS @@ -177,6 +177,7 @@ n-i-bz Fix non-glibc build of test suite with s390x_features n-i-bz MinGW, include/valgrind.h: Fix detection of 64-bit mode (3.16.0.RC1: 18 May 2020, git 6052ee66a0cf5234e8e2a2b49a8760226bc13b92) +(3.15.0.RC2: 19 May 2020, git 940ec1ca69a09f7fdae3e800b7359f85c13c4b37) diff --git a/configure.ac b/configure.ac index 58041e8b60..ecd90e58fd 100755 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ ##------------------------------------------------------------## # Process this file with autoconf to produce a configure script. -AC_INIT([Valgrind],[3.16.0.RC1],[val...@li...]) +AC_INIT([Valgrind],[3.16.0.RC2],[val...@li...]) AC_CONFIG_SRCDIR(coregrind/m_main.c) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects]) |
|
From: Mark W. <ma...@so...> - 2020-06-08 13:17:59
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=4facc497bdaf4651141b437c40e87d042ae02680 commit 4facc497bdaf4651141b437c40e87d042ae02680 Author: Mark Wielaard <ma...@kl...> Date: Mon Jun 8 15:14:04 2020 +0200 doc/Makefile.am: Turn valid-manual and valid-manpages into real targets Make valid-manual and valid-manpages real, separate make targets. This means they can be run in parallel and they will only be run once when doing make check, unless one of the manual and manpages files has been touched. Diff: --- docs/Makefile.am | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am index db833cab53..e9d659d2ec 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -136,15 +136,58 @@ XSL_MAN_STYLES = \ /usr/share/xml/docbook/stylesheet/nwalsh/current/manpages/docbook.xsl \ /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl +# Input files for valid-manual and valid-manpages +MANUAL_XML_FILES = $(myxmldir)/index.xml \ + $(myxmldir)/vg-entities.xml \ + $(myxmldir)/quick-start-guide.xml \ + $(myxmldir)/manual.xml \ + $(myxmldir)/manual-intro.xml \ + $(myxmldir)/manual-core.xml \ + $(myxmldir)/manual-core-adv.xml \ + $(top_srcdir)/*/docs/*-manual.xml \ + $(myxmldir)/quick-start-guide.xml \ + $(myxmldir)/FAQ.xml \ + $(myxmldir)/tech-docs.xml \ + $(myxmldir)/design-impl.xml \ + $(myxmldir)/manual-writing-tools.xml \ + $(top_srcdir)/callgrind/docs/cl-format.xml \ + $(myxmldir)/dist-docs.xml \ + $(top_srcdir)/AUTHORS \ + $(top_srcdir)/NEWS \ + $(top_srcdir)/NEWS.old \ + $(top_srcdir)/README \ + $(top_srcdir)/README_MISSING_SYSCALL_OR_IOCTL \ + $(top_srcdir)/README_DEVELOPERS \ + $(top_srcdir)/README_PACKAGERS \ + $(top_srcdir)/README.s390 \ + $(top_srcdir)/README.android \ + $(top_srcdir)/README.android_emulator \ + $(top_srcdir)/README.mips \ + $(top_srcdir)/README.solaris \ + $(myxmldir)/licenses.xml \ + $(top_srcdir)/COPYING \ + $(top_srcdir)/COPYING.DOCS + +MANPAGES_XML_FILES = $(myxmldir)/manpages-index.xml \ + $(myxmldir)/valgrind-manpage.xml \ + $(myxmldir)/manual-core.xml \ + $(top_srcdir)/*/docs/*-manual.xml + all-docs: FAQ.txt man-pages html-docs print-docs -valid: +valid-manual: $(MANUAL_XML_FILES) + if type $(XMLLINT) 2>/dev/null; then \ + $(XMLLINT) $(XMLLINT_FLAGS) $(myxmldir)/index.xml && \ + touch $@; \ + fi + +valid-manpages: $(MANPAGES_XML_FILES) if type $(XMLLINT) 2>/dev/null; then \ - $(XMLLINT) $(XMLLINT_FLAGS) $(myxmldir)/index.xml; \ - $(XMLLINT) $(XMLLINT_FLAGS) $(myxmldir)/manpages-index.xml; \ + $(XMLLINT) $(XMLLINT_FLAGS) $(myxmldir)/manpages-index.xml && \ + touch $@; \ fi -check-local: valid +check-local: valid-manual valid-manpages # The text version of the FAQ. FAQ.txt: @@ -252,6 +295,8 @@ distclean-local: rm -f FAQ.txt rm -f $(top_builddir)/FAQ.txt $(top_builddir)/docs/*.1 +clean-local: + rm -f valid-manual valid-manpages # ----------------------------------------------------------------------- |
|
From: Mark W. <ma...@so...> - 2020-06-08 11:38:10
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=9f4cd0c47c420e53f7fd667ae4e268f2b30ceffb commit 9f4cd0c47c420e53f7fd667ae4e268f2b30ceffb Author: Mark Wielaard <ma...@kl...> Date: Mon Jun 8 13:36:11 2020 +0200 drd/tests/tsan_unittest.cpp: Fix array CHECK Use == equality, not = assignment, for CHECK. Diff: --- drd/tests/tsan_unittest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drd/tests/tsan_unittest.cpp b/drd/tests/tsan_unittest.cpp index f68cac4eed..ab42740515 100644 --- a/drd/tests/tsan_unittest.cpp +++ b/drd/tests/tsan_unittest.cpp @@ -6619,7 +6619,7 @@ void Getter() { for (int i = 1; i <= N; i++) { int res = q.Get(); if (res > 0) { - CHECK(array[res] = res * res); + CHECK(array[res] == res * res); non_zero_received++; } usleep(1000); |
|
From: Mark W. <ma...@so...> - 2020-06-08 11:35:25
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=4285dff54d09a48e78c138fba100bca2a481b471 commit 4285dff54d09a48e78c138fba100bca2a481b471 Author: Mark Wielaard <ma...@kl...> Date: Mon Jun 8 13:27:28 2020 +0200 guest_ppc_toIR: Call vpanic not just vex_printf when the impossible happens is_Zero_Vector, is_Denorm_Vector, is_NaN_Vector and negate_Vector only handle an Ity_I32 element size. And that is also what they are currently being called with. In case they would ever be called with a different element_size they would simply vex_printf and continue (producing bogus/impossible results). To make this a bit more future proof (and to silence a static analyzer) vpanic instead. Diff: --- VEX/priv/guest_ppc_toIR.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c index 6e3fac74f8..582c59ec0b 100644 --- a/VEX/priv/guest_ppc_toIR.c +++ b/VEX/priv/guest_ppc_toIR.c @@ -3974,7 +3974,7 @@ static IRExpr * is_Zero_Vector( IRType element_size, IRExpr *src ) assign( frac_maskV128, unop( Iop_Dup32x4, mkU32( I32_FRACTION_MASK ) ) ); } else - vex_printf("ERROR, is_Zero_Vector: Unknown input size\n"); + vpanic("ERROR, is_Zero_Vector: Unknown input size"); /* CmpEQ32x4 returns all 1's in elements where comparison is true */ assign( exp_zeroV128, @@ -4011,7 +4011,7 @@ static IRExpr * is_Denorm_Vector( IRType element_size, IRExpr *src ) assign( frac_maskV128, unop( Iop_Dup32x4, mkU32( I32_FRACTION_MASK ) ) ); } else - vex_printf("ERROR, is_Denorm_Vector: Unknown input size\n"); + vpanic("ERROR, is_Denorm_Vector: Unknown input size"); /* CmpEQ32x4 returns all 1's in elements where comparison is true */ assign( exp_zeroV128, @@ -4048,7 +4048,7 @@ static IRExpr * is_NaN_Vector( IRType element_size, IRExpr *src ) opCmpEQ = Iop_CmpEQ32x4; } else - vex_printf("ERROR, is_NaN_Vector: Unknown input size\n"); + vpanic("ERROR, is_NaN_Vector: Unknown input size"); /* check exponent is all ones, i.e. (exp AND exp_mask) = exp_mask */ assign( max_expV128, @@ -4307,7 +4307,7 @@ static IRExpr* negate_Vector ( IRType element_size, IRExpr* value ) assign( sign_maskV128, unop( Iop_Dup32x4, mkU32( I32_SIGN_MASK ) ) ); } else - vex_printf("ERROR, negate_Vector: Unknown input size\n"); + vpanic("ERROR, negate_Vector: Unknown input size"); /* Determine if vector elementes are not a NaN, negate sign bit for non NaN elements */ |
|
From: Mark W. <ma...@so...> - 2020-06-08 11:27:14
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=79818bf9a59c44576f99cfe32991eeed896bd51d commit 79818bf9a59c44576f99cfe32991eeed896bd51d Author: Mark Wielaard <ma...@kl...> Date: Mon Jun 8 13:24:47 2020 +0200 helgrind: If hg_cli__realloc fails, return NULL. helgrind would not handle a failing realloc correctly and assume cli_malloc would always succeed. If cli_malloc fails in hg_cli__realloc do like dh and massif and fail the realloc call by returning NULL. Diff: --- helgrind/hg_main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c index 8b8dd05498..26b0c5a123 100644 --- a/helgrind/hg_main.c +++ b/helgrind/hg_main.c @@ -4331,6 +4331,11 @@ static void* hg_cli__realloc ( ThreadId tid, void* payloadV, SizeT new_size ) /* else */ { /* new size is bigger */ Addr p_new = (Addr)VG_(cli_malloc)(VG_(clo_alignment), new_size); + if (!p_new) { + // Nb: if realloc fails, NULL is returned but the old block is not + // touched. What an awful function. + return NULL; + } /* First half kept and copied, second half new */ // FIXME: shouldn't we use a copier which implements the |
|
From: Julian S. <se...@so...> - 2020-06-08 05:33:30
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=108b4a0880bc04f9db6133f79a8e4a98dcfc0cd0 commit 108b4a0880bc04f9db6133f79a8e4a98dcfc0cd0 Author: Julian Seward <js...@ac...> Date: Mon Jun 8 07:32:19 2020 +0200 -> 3.16.0 final Diff: --- NEWS | 5 +++-- configure.ac | 2 +- docs/xml/vg-entities.xml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index 6d6d1e4335..71a7a01e3c 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,5 @@ -Release 3.16.0 (22 May 2020) +Release 3.16.0 (27 May 2020) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.16.0 is a feature release with many improvements and the usual collection of @@ -177,7 +177,8 @@ n-i-bz Fix non-glibc build of test suite with s390x_features n-i-bz MinGW, include/valgrind.h: Fix detection of 64-bit mode (3.16.0.RC1: 18 May 2020, git 6052ee66a0cf5234e8e2a2b49a8760226bc13b92) -(3.15.0.RC2: 19 May 2020, git 940ec1ca69a09f7fdae3e800b7359f85c13c4b37) +(3.16.0.RC2: 19 May 2020, git 940ec1ca69a09f7fdae3e800b7359f85c13c4b37) +(3.16.0: 27 May 2020, git bf5e647edb9e96cbd5c57cc944984402eeee296d) diff --git a/configure.ac b/configure.ac index ecd90e58fd..524230d57d 100755 --- a/configure.ac +++ b/configure.ac @@ -8,7 +8,7 @@ ##------------------------------------------------------------## # Process this file with autoconf to produce a configure script. -AC_INIT([Valgrind],[3.16.0.RC2],[val...@li...]) +AC_INIT([Valgrind],[3.16.0],[val...@li...]) AC_CONFIG_SRCDIR(coregrind/m_main.c) AC_CONFIG_HEADERS([config.h]) AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects]) diff --git a/docs/xml/vg-entities.xml b/docs/xml/vg-entities.xml index d95a285c3f..aa14f3b47e 100644 --- a/docs/xml/vg-entities.xml +++ b/docs/xml/vg-entities.xml @@ -7,7 +7,7 @@ <!-- valgrind release + version stuff --> <!ENTITY rel-type "Release"> <!ENTITY rel-version "3.16.0"> -<!ENTITY rel-date "22 May 2020"> +<!ENTITY rel-date "27 May 2020"> <!-- where the docs are installed --> <!ENTITY vg-docs-path "$INSTALL/share/doc/valgrind/html/index.html"> |
|
From: John R. <jr...@bi...> - 2020-06-05 00:06:20
|
> Power 10 will implement the ISA 3.1. It would be more informative to say something like, "Power 10 will implement the entire ISA 3.1 with no omitted features, no additional features, and making these choices where ISA 3.1 allows implementation flexibility: [list]." It would also be useful to say something about speed and energy consumption of various instructions in the Power 10 implementation. |
|
From: Carl L. <ce...@us...> - 2020-06-04 22:28:16
|
Mark: > > On Thu, 2020-06-04 at 09:54 -0700, Carl Love wrote: > > Now that Valgrind 3.16 is out and IBM has announced the latest > > Power > > ISA 3.1 we would like to start pushing out patches to Valgrind > > mainline > > for the new ISA instruction support. You can find the ISA 3.1 at: > > > > https://ibm.ent.box.com/s/hhjfw0x0lrbtyzmiaffnbxh2fuo0fog0 > > Silly question maybe, but is Power10 instruction set (which I saw > recent binutils supports) an "implementation" of the Power ISA 3.1? > Can > the terms Power10 and Power ISA 3.1 be used interchangeably or is > there > a subtle difference? Power 10 will implement the ISA 3.1. Carl Love |
|
From: Mark W. <ma...@kl...> - 2020-06-04 18:07:10
|
Hi Carl, On Thu, 2020-06-04 at 09:54 -0700, Carl Love wrote: > Now that Valgrind 3.16 is out and IBM has announced the latest Power > ISA 3.1 we would like to start pushing out patches to Valgrind mainline > for the new ISA instruction support. You can find the ISA 3.1 at: > > https://ibm.ent.box.com/s/hhjfw0x0lrbtyzmiaffnbxh2fuo0fog0 Silly question maybe, but is Power10 instruction set (which I saw recent binutils supports) an "implementation" of the Power ISA 3.1? Can the terms Power10 and Power ISA 3.1 be used interchangeably or is there a subtle difference? Thanks, Mark |
|
From: Carl L. <ce...@us...> - 2020-06-04 16:54:37
|
Julian: Now that Valgrind 3.16 is out and IBM has announced the latest Power ISA 3.1 we would like to start pushing out patches to Valgrind mainline for the new ISA instruction support. You can find the ISA 3.1 at: https://ibm.ent.box.com/s/hhjfw0x0lrbtyzmiaffnbxh2fuo0fog0 The key change in this ISA is that Power will now support 64-bit and 32-bit instructions. The ISA adds a couple hundred new instructions as well. The 64-bit instructions are referred to as prefix instructions. A 32-bit instruction is referred to as a word instruction. Most prefix instruction names start with a "p". This is always true when there is a word and prefixed version of the instruction. For example instruction foo and prefix instruction pfoo. New instructions that do not have a word equivalent do not always have the leading "p" in the instruction name. A prefix instruction consists of a 32-bit prefix word with bits [0:5] (IBM numbering left to right) set to 1. The rest of the prefix word contains fields for larger immediate values and additional instruction arguments. The actual instruction opcode, register designators etc. will be found in the following 32-bit word in essentially the same instruction layout seen for the existing 32-bit instructions. Generally speaking the opc1, opc2 values for a prefixed instruction will match the opc1 and opc2 values for the equivalent word instruction but unfortunately this is not always the case. The exceptions make the parsing of prefix instructions a bit more complicated. The immediate value for a prefix instruction consists of the immediate value for the word instruction combined with additional bits from the prefix word as mentioned above. We have a series of functional patches that add the new ISA 3.1 instruction support and corresponding series of test-suite patches to test the instructions added with each functional patch. Currently the functional patch series consists of 17 patches. We are still working to polish up the last two functional patches. Some of the latter functional patches will require some discussion. There are some rather complex instructions that cannot be done strictly with IOps as they are really complex and would generate more iops then the buffer space. These instructions were implemented with clean helpers. We chose to do that rather then introduce a new iop as no other architecture is likely to every have a similar instruction. From a development standpoint, it gave an independent instruction implementation in Valgrind that could be used to verify the accuracy of the internal ISA 3.1 simulator. The new Valgrind support found "several" internal simulator bugs. When we get to these patches, we can discuss if we want to go with the clean helpers or change to supporting the instructions with new IOps. The various tests have been run on the internal simulator to generate the expected result files. The expected output was then compared with the Valgrind results. When differences were found, we had to investigate to determine if the error was in the Valgrind or internal simulator. With that introduction, please let us know if you have questions. We hope to post the first functional patch and test case soon. The first functional patch lays the ground work for the prefix instruction support and adds support for a couple of new instructions. This will be good look at the new functionality. The plan is then to push out a couple of functional patches and corresponding test-suite patches at a time for review to keep things a bit more manageable as well as get the patches reviewed and accepted in a reasonable time frame. Ideally we would get everything done for the 3.17 release but that is probably not practical. Carl Love and Will Schmidt |