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
(7) |
2
(5) |
3
(2) |
4
(8) |
5
(10) |
|
6
(3) |
7
(9) |
8
(7) |
9
(8) |
10
(7) |
11
(4) |
12
(11) |
|
13
(5) |
14
(17) |
15
(6) |
16
(15) |
17
|
18
(3) |
19
(1) |
|
20
(6) |
21
(18) |
22
(5) |
23
(9) |
24
(6) |
25
(3) |
26
(1) |
|
27
(1) |
28
|
29
(8) |
30
(5) |
|
|
|
|
From: <sv...@va...> - 2015-09-21 21:46:54
|
Author: carll
Date: Mon Sep 21 22:46:46 2015
New Revision: 3194
Log:
Fix, Add support for the Power PC Program Priority Register
Commit r3189 had a typo in it. In function LibVEX_GuestPPC64_initialise()
the value of vex_state->guest_PSPB is initialized to 0x0. The intention was
for it to be initialized to 0x100. This commit fixes the typo.
The original commit message:
Added the Program Priority Register (PPR), support to read and write it
via the mfspr and mtspr instructions as well as the special OR instruction
No Op instructions. The setting of the PPR is dependent on the value in
the Problem State Priority Boost register. Basic support for this register
was added. Not all of the PSPB register functionality was added.
This patch fixes bugzilla 352769.
Modified:
trunk/priv/guest_ppc_helpers.c
Modified: trunk/priv/guest_ppc_helpers.c
==============================================================================
--- trunk/priv/guest_ppc_helpers.c (original)
+++ trunk/priv/guest_ppc_helpers.c Mon Sep 21 22:46:46 2015
@@ -694,7 +694,7 @@
vex_state->guest_TFIAR = 0;
vex_state->guest_TEXASR = 0;
vex_state->guest_PPR = 0x4ULL << 50; // medium priority
- vex_state->guest_PSPB = 0x00; // an arbitrary non-zero value to start with
+ vex_state->guest_PSPB = 0x100; // an arbitrary non-zero value to start with
}
|
|
From: <sv...@va...> - 2015-09-21 20:38:09
|
Author: florian
Date: Mon Sep 21 21:38:02 2015
New Revision: 15669
Log:
In ML_(am_clientise) give the template segment the correct
address range.
Modified:
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c Mon Sep 21 21:38:02 2015
@@ -1415,6 +1415,8 @@
ML_(am_add_segment) will take care of everything. */
NSegment tmp = *seg;
+ tmp.start = start;
+ tmp.end = start + len - 1;
switch (seg->kind) {
case SkFileV: tmp.kind = SkFileC; break;
case SkAnonV: tmp.kind = SkAnonC; break;
|
Author: florian
Date: Mon Sep 21 21:31:29 2015
New Revision: 15668
Log:
Remove unused include directives from priv_aspacemgr.h
Adjust up source files as needed.
Fix a few function parameter types.
Add ML_(am_write).
Modified:
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-common.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-dot.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segnames.c
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h
branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/unit-test/stubs.c
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-common.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-common.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-common.c Mon Sep 21 21:31:29 2015
@@ -37,7 +37,14 @@
************************************************************* */
#include "priv_aspacemgr.h"
-#include "config.h"
+#include "pub_core_vki.h" // VKI_PAGE_SIZE
+#include "pub_core_libcbase.h" // VG_IS_PAGE_ALIGNED
+#include "pub_core_libcassert.h" // VG_(exit_now)
+#include "pub_core_syscall.h" // VG_(do_syscallN)
+#include "pub_core_vkiscnums.h" // system call numbers
+#include "pub_core_debuglog.h" // VG_(debugLog)
+#include "pub_core_options.h" // VG_(clo_valgrind_stacksize)
+#include "config.h" // HAVE_REMAP
/*-----------------------------------------------------------------*/
@@ -93,7 +100,6 @@
return sr_Res(sres);
}
-
//--------------------------------------------------------------
// A simple sprintf implementation, so as to avoid dependence on
// m_libcprint.
@@ -281,18 +287,24 @@
return res;
}
-Int ML_(am_read) ( Int fd, void* buf, Int count)
+Int ML_(am_read) ( Int fd, void* buf, SizeT count)
{
SysRes res = VG_(do_syscall3)(__NR_read, fd, (UWord)buf, count);
return sr_isError(res) ? -1 : sr_Res(res);
}
+Int ML_(am_write) ( Int fd, const void *buf, SizeT count)
+{
+ SysRes res = VG_(do_syscall3)(__NR_write, fd, (UWord)buf, count);
+ return sr_isError(res) ? -1 : sr_Res(res);
+}
+
void ML_(am_close) ( Int fd )
{
(void)VG_(do_syscall1)(__NR_close, fd);
}
-Int ML_(am_readlink)(const HChar* path, HChar* buf, UInt bufsiz)
+Int ML_(am_readlink)(const HChar* path, HChar* buf, SizeT bufsiz)
{
SysRes res;
# if defined(VGP_arm64_linux)
@@ -350,7 +362,7 @@
return False;
}
-Bool ML_(am_resolve_filename) ( Int fd, /*OUT*/HChar* buf, Int nbuf )
+Bool ML_(am_resolve_filename)( Int fd, /*OUT*/HChar* buf, SizeT nbuf )
{
#if defined(VGO_linux)
Int i;
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-dot.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-dot.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-dot.c Mon Sep 21 21:31:29 2015
@@ -34,6 +34,9 @@
Function ML_(am_write_dot) is the single entry point here. */
#include "priv_aspacemgr.h"
+#include "pub_core_vki.h" // VKI_O_CREAT
+#include "pub_core_debuglog.h" // VG_(debugLog)
+
/* Output a character. Characters are written to a buffer which is flushed
when full or when C is the NUL character. */
@@ -43,7 +46,7 @@
static UInt num_char;
if (num_char == sizeof buf || c == '\0') {
- VG_(do_syscall3)(__NR_write, *(Int *)p, (UWord)buf, num_char);
+ ML_(am_write)(*(Int *)p, buf, num_char);
num_char = 0;
}
if (c != '\0') buf[num_char++] = c;
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-linux.c Mon Sep 21 21:31:29 2015
@@ -39,7 +39,13 @@
************************************************************* */
#include "priv_aspacemgr.h"
-#include "config.h"
+#include "pub_core_libcbase.h" // VG_(strcmp), etc
+#include "pub_core_vki.h" // VKI_PROT_EXEC, etc.
+#include "pub_core_debuglog.h" // VG_(debugLog)
+#include "pub_core_options.h" // VG_(clo_sanity_level)
+#include "pub_core_syscall.h" // SysRes
+#include "config.h" // HAVE_REMAP
+
/*-----------------------------------------------------------------*/
/*--- ---*/
@@ -559,29 +565,22 @@
a discrepancy is detected, but does not abort the system. Returned
Bool is False if a discrepancy was found. */
-Bool VG_(am_do_sync_check) ( const HChar* fn,
- const HChar* file, Int line )
+Bool VG_(am_do_sync_check)( const HChar* fn, const HChar* file, Int line )
{
sync_check_ok = True;
- if (0)
- VG_(debugLog)(0,"aspacem", "do_sync_check %s:%d\n", file,line);
- parse_procselfmaps( sync_check_mapping_callback,
- sync_check_gap_callback );
+ parse_procselfmaps( sync_check_mapping_callback, sync_check_gap_callback );
+
if (!sync_check_ok) {
- VG_(debugLog)(0,"aspacem",
- "sync check at %s:%d (%s): FAILED\n",
+ VG_(debugLog)(0,"aspacem", "do_sync_check at %s:%d (%s): FAILED\n",
file, line, fn);
VG_(debugLog)(0,"aspacem", "\n");
# if 0
- {
- HChar buf[100]; // large enough
- VG_(am_show_nsegments)(0,"post syncheck failure");
- VG_(sprintf)(buf, "/bin/cat /proc/%d/maps", VG_(getpid)());
- VG_(system)(buf);
- }
+ HChar buf[100]; // large enough
+ VG_(am_show_nsegments)(0, "post do_sync_check failure");
+ ML_(am_sprintf)(buf, "/bin/cat /proc/%d/maps", ML_(am_getpid)());
+ VG_(system)(buf);
# endif
-
}
return sync_check_ok;
}
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segments.c Mon Sep 21 21:31:29 2015
@@ -45,6 +45,10 @@
*/
#include "priv_aspacemgr.h"
+#include "pub_core_vki.h" // VKI_PAGE_SIZE
+#include "pub_core_libcbase.h" // VG_IS_PAGE_ALIGNED
+#include "pub_core_debuglog.h" // VG_(debugLog)
+
#ifdef ASPACEMGR_UNIT_TEST
/* Remove the alignment test so we can have segments with intervals that
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segnames.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segnames.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/aspacemgr-segnames.c Mon Sep 21 21:31:29 2015
@@ -114,8 +114,11 @@
So we leave it as is until a use case comes up that needs something better.
*/
-#include "pub_core_basics.h" // types
#include "priv_aspacemgr.h"
+#include "pub_core_basics.h" // types
+#include "pub_core_libcbase.h" // VG_(strlen)
+#include "pub_core_debuglog.h" // VG_(debugLog)
+
// A few constants.
enum {
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/priv_aspacemgr.h Mon Sep 21 21:31:29 2015
@@ -37,25 +37,7 @@
minimal set of imports. */
#include "pub_core_basics.h" // types
-#include "pub_core_vkiscnums.h" // system call numbers
-#include "pub_core_vki.h" // VKI_PAGE_SIZE, VKI_MREMAP_MAYMOVE,
- // VKI_MREMAP_FIXED, vki_stat64
-
-#include "pub_core_debuglog.h" // VG_(debugLog)
-
-#include "pub_core_libcbase.h" // VG_(strlen), VG_(strcmp), VG_(strncpy)
- // VG_IS_PAGE_ALIGNED
- // VG_PGROUNDDN, VG_PGROUNDUP
-
-#include "pub_core_libcassert.h" // VG_(exit_now)
-
-#include "pub_core_syscall.h" // VG_(do_syscallN)
- // VG_(mk_SysRes_Error)
- // VG_(mk_SysRes_Success)
-
-#include "pub_core_options.h" // VG_(clo_sanity_level)
-
-#include "pub_core_aspacemgr.h" // self
+#include "pub_core_aspacemgr.h" // NSegment
/* --------------- Implemented in aspacemgr-common.c ---------------*/
@@ -111,26 +93,25 @@
extern SysRes ML_(am_open) ( const HChar* pathname, Int flags, Int mode );
extern void ML_(am_close) ( Int fd );
-extern Int ML_(am_read) ( Int fd, void* buf, Int count);
-extern Int ML_(am_readlink) ( const HChar* path, HChar* buf, UInt bufsiz );
+extern Int ML_(am_read) ( Int fd, void* buf, SizeT count);
+extern Int ML_(am_readlink) ( const HChar* path, HChar* buf, SizeT bufsiz );
extern Int ML_(am_fcntl) ( Int fd, Int cmd, Addr arg );
+extern Int ML_(am_write) ( Int fd, const void *buf, SizeT count);
/* Get the dev, inode and mode info for a file descriptor, if
possible. Returns True on success. */
-extern
Bool ML_(am_get_fd_d_i_m)( Int fd,
/*OUT*/ULong* dev,
/*OUT*/ULong* ino, /*OUT*/UInt* mode );
-extern
-Bool ML_(am_resolve_filename) ( Int fd, /*OUT*/HChar* buf, Int nbuf );
+Bool ML_(am_resolve_filename) ( Int fd, /*OUT*/HChar* buf, SizeT nbuf );
void ML_(am_show_len_concisely)( /*OUT*/HChar *buf, Addr start, Addr end );
/* ------ Implemented separately in aspacemgr-linux.c ------ */
/* Do a sanity check (/proc/self/maps sync check) */
-extern void ML_(am_do_sanity_check)( void );
+void ML_(am_do_sanity_check)( void );
/* ------ Implemented in aspacemgr-segnames.c ------ */
Modified: branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/unit-test/stubs.c
==============================================================================
--- branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/unit-test/stubs.c (original)
+++ branches/ASPACEM_TWEAKS/coregrind/m_aspacemgr/unit-test/stubs.c Mon Sep 21 21:31:29 2015
@@ -30,6 +30,7 @@
#include "pub_core_libcbase.h"
#include "pub_core_debuglog.h"
#include "pub_core_libcassert.h"
+#include "pub_core_syscall.h"
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
@@ -180,7 +181,7 @@
return (SysRes){};
}
-Int ML_(am_read)( Int fd, void* buf, Int count )
+Int ML_(am_read)( Int fd, void* buf, SizeT count )
{
assert(0);
return 1;
@@ -201,7 +202,7 @@
assert(0);
}
-Bool ML_(am_resolve_filename)( Int fd, /*OUT*/HChar *buf, Int nbuf )
+Bool ML_(am_resolve_filename)( Int fd, /*OUT*/HChar *buf, SizeT nbuf )
{
assert(0);
return 1;
|
|
From: Rhys K. <rhy...@gm...> - 2015-09-21 13:17:39
|
Hello C D, Thanks for testing the Valgrind pre-release on your OS X hardware. At presently, I'm inclined to say that OS X 10.6 systems are unlikely to get much developer priority. I have development environments setup as far back as OS X 10.7 that I routinely test with. There is no guarantee that 10.6 and earlier will work with Valgrind 3.11 I'm afraid. This situation might change in future, but with further passage of time it is likely the user-driven demand will reduce as well. I am happy that it has passed basic smoke tests for you on 10.8. Regards, Rhys On 21 September 2015 at 22:30, C D <mac...@ya...> wrote: > > A test tarball is available at> http://valgrind.org/downloads/valgrind-3.11.0.TEST1.tar.bz2 <http://valgrind.org/downloads/valgrind-3.11.0.TEST1.tar.bz2> > > (md5 = 6a858b4a1e98db8c82bc6bc9c760873b) > > > > Please test it on systems that are important for you and report any failures > > (and successes!). > > Thanks! And sorry for the possibly wrong format of this answer. > > * Build success (at least "./configure;make") on Mac OS 10.8.5. > > * Build failure on Mac OS 10.6.8: > > $ make > [...] > link_tool_exe_darwin: /usr/bin/ld -static -arch i386 -macosx_version_min 10.5 -o memcheck-x86-darwin -u __start -e __start -image_base 0x38000000 -stack_addr 0x34000000 -stack_size 0x800000 memcheck_x86_darwin-mc_leakcheck.o memcheck_x86_darwin-mc_malloc_wrappers.o memcheck_x86_darwin-mc_main.o memcheck_x86_darwin-mc_translate.o memcheck_x86_darwin-mc_machine.o memcheck_x86_darwin-mc_errors.o ../coregrind/libcoregrind-x86-darwin.a ../VEX/libvex-x86-darwin.a > /usr/bin/ld_classic: Undefined symbols: > ___clzdi2 > ___ctzdi2 > make[3]: *** [memcheck-x86-darwin] Error 1 > make[2]: *** [all-recursive] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > $ uname -a > Darwin io.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 > $ gcc --version|head -1 > i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) > $ > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > |
|
From: C D <mac...@ya...> - 2015-09-21 12:30:17
|
> A test tarball is available at > http://valgrind.org/downloads/valgrind-3.11.0.TEST1.tar.bz2 > (md5 = 6a858b4a1e98db8c82bc6bc9c760873b) > > Please test it on systems that are important for you and report any failures > (and successes!). Thanks! And sorry for the possibly wrong format of this answer. * Build success (at least "./configure;make") on Mac OS 10.8.5. * Build failure on Mac OS 10.6.8: $ make [...] link_tool_exe_darwin: /usr/bin/ld -static -arch i386 -macosx_version_min 10.5 -o memcheck-x86-darwin -u __start -e __start -image_base 0x38000000 -stack_addr 0x34000000 -stack_size 0x800000 memcheck_x86_darwin-mc_leakcheck.o memcheck_x86_darwin-mc_malloc_wrappers.o memcheck_x86_darwin-mc_main.o memcheck_x86_darwin-mc_translate.o memcheck_x86_darwin-mc_machine.o memcheck_x86_darwin-mc_errors.o ../coregrind/libcoregrind-x86-darwin.a ../VEX/libvex-x86-darwin.a /usr/bin/ld_classic: Undefined symbols: ___clzdi2 ___ctzdi2 make[3]: *** [memcheck-x86-darwin] Error 1 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 $ uname -a Darwin io.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 $ gcc --version|head -1 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) $ |
|
From: <sv...@va...> - 2015-09-21 11:00:59
|
Author: sewardj
Date: Mon Sep 21 12:00:52 2015
New Revision: 15667
Log:
Make version numbers correct.
Modified:
branches/VALGRIND_3_11_BRANCH/NEWS
Modified: branches/VALGRIND_3_11_BRANCH/NEWS
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/NEWS (original)
+++ branches/VALGRIND_3_11_BRANCH/NEWS Mon Sep 21 12:00:52 2015
@@ -399,8 +399,8 @@
n-i-bz Fix incorrect sizeof expression in syswrap-xen.c reported by Coverity
n-i-bz In VALGRIND_PRINTF write out thread name, if any, to xml
-(3.10.1.TEST1: 8 September 2015, vex r3187, valgrind r15646)
-(3.10.1.TEST2: 21 September 2015, vex r3193, valgrind r15666)
+(3.11.0.TEST1: 8 September 2015, vex r3187, valgrind r15646)
+(3.11.0.TEST2: 21 September 2015, vex r3193, valgrind r15667)
|
|
From: <sv...@va...> - 2015-09-21 10:42:16
|
Author: sewardj
Date: Mon Sep 21 11:42:07 2015
New Revision: 15666
Log:
--> 3.10.1.TEST2
Modified:
branches/VALGRIND_3_11_BRANCH/NEWS
branches/VALGRIND_3_11_BRANCH/configure.ac
Modified: branches/VALGRIND_3_11_BRANCH/NEWS
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/NEWS (original)
+++ branches/VALGRIND_3_11_BRANCH/NEWS Mon Sep 21 11:42:07 2015
@@ -400,6 +400,7 @@
n-i-bz In VALGRIND_PRINTF write out thread name, if any, to xml
(3.10.1.TEST1: 8 September 2015, vex r3187, valgrind r15646)
+(3.10.1.TEST2: 21 September 2015, vex r3193, valgrind r15666)
Modified: branches/VALGRIND_3_11_BRANCH/configure.ac
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/configure.ac (original)
+++ branches/VALGRIND_3_11_BRANCH/configure.ac Mon Sep 21 11:42:07 2015
@@ -8,7 +8,7 @@
##------------------------------------------------------------##
# Process this file with autoconf to produce a configure script.
-AC_INIT([Valgrind],[3.11.0.TEST1],[val...@li...])
+AC_INIT([Valgrind],[3.11.0.TEST2],[val...@li...])
AC_CONFIG_SRCDIR(coregrind/m_main.c)
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
|
From: <sv...@va...> - 2015-09-21 10:08:18
|
Author: sewardj
Date: Mon Sep 21 11:08:11 2015
New Revision: 15665
Log:
Update for recent merges from trunk.
Modified:
branches/VALGRIND_3_11_BRANCH/NEWS
Modified: branches/VALGRIND_3_11_BRANCH/NEWS
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/NEWS (original)
+++ branches/VALGRIND_3_11_BRANCH/NEWS Mon Sep 21 11:08:11 2015
@@ -386,6 +386,9 @@
352130 helgrind reports false races for printfs using mempcpy on FILE* state
352284 s390: Conditional jump depends on uninitialised value(s) in vfprintf
352320 arm64 crash on none/tests/nestedfs
+352765 Vbit test fails on Power 6
+352768 The mbar instruction is missing from the Power PC support
+352769 Power PC program priority register (PPR) is not supported
n-i-bz Provide implementations of certain compiler builtins to support
compilers that may not provide those
n-i-bz Old STABS code is still being compiled, but never used. Remove it.
|
|
From: <sv...@va...> - 2015-09-21 10:03:39
|
Author: sewardj
Date: Mon Sep 21 11:03:31 2015
New Revision: 3193
Log:
Merge, from trunk, r3190 (Add support for the Power PC mbar instruction; bug 352768)
Modified:
branches/VEX_3_11_BRANCH/ (props changed)
branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
Modified: branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
==============================================================================
--- branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c (original)
+++ branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c Mon Sep 21 11:03:31 2015
@@ -6369,6 +6369,7 @@
UInt b11to25 = IFIELD(theInstr, 11, 15);
UChar flag_L = ifieldRegDS(theInstr);
UInt b11to20 = IFIELD(theInstr, 11, 10);
+ UInt M0 = IFIELD(theInstr, 11, 5);
UChar rD_addr = ifieldRegDS(theInstr);
UChar rS_addr = rD_addr;
UChar rA_addr = ifieldRegA(theInstr);
@@ -6399,12 +6400,20 @@
/* X-Form */
case 0x1F:
switch (opc2) {
- case 0x356: // eieio (Enforce In-Order Exec of I/O, PPC32 p394)
- if (b11to25 != 0 || b0 != 0) {
- vex_printf("dis_memsync(ppc)(eiei0,b11to25|b0)\n");
- return False;
+ case 0x356: // eieio or mbar (Enforce In-Order Exec of I/O, PPC32 p394)
+ if (M0 == 0) {
+ if (b11to20 != 0 || b0 != 0) {
+ vex_printf("dis_memsync(ppc)(eieio,b11to20|b0)\n");
+ return False;
+ }
+ DIP("eieio\n");
+ } else {
+ if (b11to20 != 0 || b0 != 0) {
+ vex_printf("dis_memsync(ppc)(mbar,b11to20|b0)\n");
+ return False;
+ }
+ DIP("mbar %d\n", M0);
}
- DIP("eieio\n");
/* Insert a memory fence, just to be on the safe side. */
stmt( IRStmt_MBE(Imbe_Fence) );
break;
|
|
From: <sv...@va...> - 2015-09-21 10:01:50
|
Author: sewardj
Date: Mon Sep 21 11:01:43 2015
New Revision: 3192
Log:
Merge, from trunk, r3189 (Add support for the Power PC Program Priority Register; bug 352769)
Modified:
branches/VEX_3_11_BRANCH/ (props changed)
branches/VEX_3_11_BRANCH/priv/guest_ppc_helpers.c
branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc32.h
branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc64.h
Modified: branches/VEX_3_11_BRANCH/priv/guest_ppc_helpers.c
==============================================================================
--- branches/VEX_3_11_BRANCH/priv/guest_ppc_helpers.c (original)
+++ branches/VEX_3_11_BRANCH/priv/guest_ppc_helpers.c Mon Sep 21 11:01:43 2015
@@ -521,6 +521,8 @@
vex_state->guest_IP_AT_SYSCALL = 0;
vex_state->guest_SPRG3_RO = 0;
+ vex_state->guest_PPR = 0x4ULL << 50; // medium priority
+ vex_state->guest_PSPB = 0x100; // an arbitrary non-zero value to start with
vex_state->padding1 = 0;
vex_state->padding2 = 0;
@@ -691,6 +693,8 @@
vex_state->guest_TFHAR = 0;
vex_state->guest_TFIAR = 0;
vex_state->guest_TEXASR = 0;
+ vex_state->guest_PPR = 0x4ULL << 50; // medium priority
+ vex_state->guest_PSPB = 0x00; // an arbitrary non-zero value to start with
}
Modified: branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
==============================================================================
--- branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c (original)
+++ branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c Mon Sep 21 11:01:43 2015
@@ -288,6 +288,8 @@
#define OFFB_TEXASR offsetofPPCGuestState(guest_TEXASR)
#define OFFB_TEXASRU offsetofPPCGuestState(guest_TEXASRU)
#define OFFB_TFIAR offsetofPPCGuestState(guest_TFIAR)
+#define OFFB_PPR offsetofPPCGuestState(guest_PPR)
+#define OFFB_PSPB offsetofPPCGuestState(guest_PSPB)
/*------------------------------------------------------------*/
@@ -438,6 +440,14 @@
PPC_GST_TFIAR, // Transactional Failure Instruction Address Register
PPC_GST_TEXASR, // Transactional EXception And Summary Register
PPC_GST_TEXASRU, // Transactional EXception And Summary Register Upper
+ PPC_GST_PPR, // Program Priority register
+ PPC_GST_PPR32, // Upper 32-bits of Program Priority register
+ PPC_GST_PSPB, /* Problem State Priority Boost register, Note, the
+ * register is initialized to a non-zero value. Currently
+ * Valgrind is not supporting the register value to
+ * automatically decrement. Could be added later if
+ * needed.
+ */
PPC_GST_MAX
} PPC_GST;
@@ -2747,6 +2757,15 @@
case PPC_GST_TFIAR:
return IRExpr_Get( OFFB_TFIAR, ty );
+ case PPC_GST_PPR:
+ return IRExpr_Get( OFFB_PPR, ty );
+
+ case PPC_GST_PPR32:
+ return unop( Iop_64HIto32, IRExpr_Get( OFFB_PPR, ty ) );
+
+ case PPC_GST_PSPB:
+ return IRExpr_Get( OFFB_PSPB, ty );
+
default:
vex_printf("getGST(ppc): reg = %u", reg);
vpanic("getGST(ppc)");
@@ -2926,6 +2945,95 @@
vassert( ty_src == Ity_I64 );
stmt( IRStmt_Put( OFFB_TFHAR, src ) );
break;
+
+ case PPC_GST_PPR32:
+ case PPC_GST_PPR:
+ {
+ /* The Program Priority Register (PPR) stores the priority in
+ * bits [52:50]. The user setable priorities are:
+ *
+ * 001 very low
+ * 010 low
+ * 011 medium low
+ * 100 medium
+ * 101 medium high
+ *
+ * If the argument is not between 0b001 and 0b100 the priority is set
+ * to 0b100. The priority can only be set to 0b101 if the the Problem
+ * State Boost Register is non-zero. The value of the PPR is not
+ * changed if the input is not valid.
+ */
+
+ IRTemp not_valid = newTemp(Ity_I64);
+ IRTemp has_perm = newTemp(Ity_I64);
+ IRTemp new_src = newTemp(Ity_I64);
+ IRTemp PSPB_val = newTemp(Ity_I64);
+ IRTemp value = newTemp(Ity_I64);
+
+ vassert(( ty_src == Ity_I64 ) || ( ty_src == Ity_I32 ));
+ assign( PSPB_val, binop( Iop_32HLto64,
+ mkU32( 0 ),
+ IRExpr_Get( OFFB_PSPB, Ity_I32 ) ) );
+ if( reg == PPC_GST_PPR32 ) {
+ vassert( ty_src == Ity_I32 );
+ assign( value, binop( Iop_32HLto64,
+ mkU32(0),
+ binop( Iop_And32,
+ binop( Iop_Shr32, src, mkU8( 18 ) ),
+ mkU32( 0x7 ) ) ) );
+ } else {
+ vassert( ty_src == Ity_I64 );
+ assign( value, binop( Iop_And64,
+ binop( Iop_Shr64, src, mkU8( 50 ) ),
+ mkU64( 0x7 ) ) );
+ }
+ assign( has_perm,
+ binop( Iop_And64,
+ unop( Iop_1Sto64,
+ binop( Iop_CmpEQ64,
+ mkexpr( PSPB_val ),
+ mkU64( 0 ) ) ),
+ unop( Iop_1Sto64,
+ binop( Iop_CmpEQ64,
+ mkU64( 0x5 ),
+ mkexpr( value ) ) ) ) );
+ assign( not_valid,
+ binop( Iop_Or64,
+ unop( Iop_1Sto64,
+ binop( Iop_CmpEQ64,
+ mkexpr( value ),
+ mkU64( 0 ) ) ),
+ unop( Iop_1Sto64,
+ binop( Iop_CmpLT64U,
+ mkU64( 0x5 ),
+ mkexpr( value ) ) ) ) );
+ assign( new_src,
+ binop( Iop_Or64,
+ binop( Iop_And64,
+ unop( Iop_Not64,
+ mkexpr( not_valid ) ),
+ src ),
+ binop( Iop_And64,
+ mkexpr( not_valid ),
+ binop( Iop_Or64,
+ binop( Iop_And64,
+ mkexpr( has_perm),
+ binop( Iop_Shl64,
+ mkexpr( value ),
+ mkU8( 50 ) ) ),
+ binop( Iop_And64,
+ IRExpr_Get( OFFB_PPR, ty ),
+ unop( Iop_Not64,
+ mkexpr( has_perm )
+ ) ) ) ) ) );
+
+ /* make sure we only set the valid bit field [52:50] */
+ stmt( IRStmt_Put( OFFB_PPR,
+ binop( Iop_And64,
+ mkexpr( new_src ),
+ mkU64( 0x1C000000000000) ) ) );
+ break;
+ }
default:
vex_printf("putGST(ppc): reg = %u", reg);
vpanic("putGST(ppc)");
@@ -7131,6 +7239,18 @@
DIP("mfspr r%u (TEXASRU)\n", rD_addr);
putIReg( rD_addr, getGST( PPC_GST_TEXASRU) );
break;
+ case 0x9F: // 159
+ DIP("mfspr r%u (PSPB)\n", rD_addr);
+ putIReg( rD_addr, getGST( PPC_GST_PSPB) );
+ break;
+ case 0x380: // 896
+ DIP("mfspr r%u (PPR)\n", rD_addr);
+ putIReg( rD_addr, getGST( PPC_GST_PPR) );
+ break;
+ case 0x382: // 898
+ DIP("mfspr r%u (PPR)32\n", rD_addr);
+ putIReg( rD_addr, getGST( PPC_GST_PPR32) );
+ break;
case 0x100:
DIP("mfvrsave r%u\n", rD_addr);
putIReg( rD_addr, mkWidenFrom32(ty, getGST( PPC_GST_VRSAVE ),
@@ -7287,6 +7407,18 @@
DIP("mtspr r%u (TEXASR)\n", rS_addr);
putGST( PPC_GST_TEXASR, mkexpr(rS) );
break;
+ case 0x9F: // 159
+ DIP("mtspr r%u (PSPB)\n", rS_addr);
+ putGST( PPC_GST_PSPB, mkexpr(rS) );
+ break;
+ case 0x380: // 896
+ DIP("mtspr r%u (PPR)\n", rS_addr);
+ putGST( PPC_GST_PPR, mkexpr(rS) );
+ break;
+ case 0x382: // 898
+ DIP("mtspr r%u (PPR32)\n", rS_addr);
+ putGST( PPC_GST_PPR32, mkexpr(rS) );
+ break;
default:
vex_printf("dis_proc_ctl(ppc)(mtspr,SPR)(%u)\n", SPR);
return False;
Modified: branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc32.h
==============================================================================
--- branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc32.h (original)
+++ branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc32.h Mon Sep 21 11:01:43 2015
@@ -241,11 +241,12 @@
/* 1360 */ ULong guest_TFHAR; // Transaction Failure Handler Address Register
/* 1368 */ ULong guest_TEXASR; // Transaction EXception And Summary Register
/* 1376 */ ULong guest_TFIAR; // Transaction Failure Instruction Address Register
- /* 1384 */ UInt guest_TEXASRU; // Transaction EXception And Summary Register Upper
-
+ /* 1384 */ ULong guest_PPR; // Program Priority register
+ /* 1392 */ UInt guest_TEXASRU; // Transaction EXception And Summary Register Upper
+ /* 1396 */ UInt guest_PSPB; // Problem State Priority Boost register
/* Padding to make it have an 16-aligned size */
- /* 1388 */ UInt padding2;
-
+ /* 1400 */ UInt padding2;
+ /* 1404 */ UInt padding3;
}
VexGuestPPC32State;
Modified: branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc64.h
==============================================================================
--- branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc64.h (original)
+++ branches/VEX_3_11_BRANCH/pub/libvex_guest_ppc64.h Mon Sep 21 11:01:43 2015
@@ -282,12 +282,14 @@
/* 1656 */ ULong guest_TFHAR; // Transaction Failure Handler Address Register
/* 1664 */ ULong guest_TEXASR; // Transaction EXception And Summary Register
/* 1672 */ ULong guest_TFIAR; // Transaction Failure Instruction Address Register
- /* 1680 */ UInt guest_TEXASRU; // Transaction EXception And Summary Register Upper
+ /* 1680 */ ULong guest_PPR; // Program Priority register
+ /* 1688 */ UInt guest_TEXASRU; // Transaction EXception And Summary Register Upper
+ /* 1692 */ UInt guest_PSPB; // Problem State Priority Boost register
/* Padding to make it have an 16-aligned size */
- /* 1684 */ UInt padding1;
- /* 1688 */ UInt padding2;
- /* 1692 */ UInt padding3;
+ /* 1696 UInt padding1; currently not needed */
+ /* 1700 UInt padding2; currently not needed */
+ /* 1708 UInt padding3; currently not needed */
}
VexGuestPPC64State;
|
|
From: <sv...@va...> - 2015-09-21 09:59:43
|
Author: sewardj
Date: Mon Sep 21 10:59:36 2015
New Revision: 3191
Log:
Merge, from trunk, r3188
(ppc: The functions dis_dfp_fmt_conv and dis_dfp_exponent_test
should only be executed in case DFP is supported.)
Modified:
branches/VEX_3_11_BRANCH/ (props changed)
branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
Modified: branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c
==============================================================================
--- branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c (original)
+++ branches/VEX_3_11_BRANCH/priv/guest_ppc_toIR.c Mon Sep 21 10:59:36 2015
@@ -19172,6 +19172,7 @@
case 0x322: // POWER 7 inst, dcffix - DFP convert from fixed
if (!allow_VX)
goto decode_failure;
+ if (!allow_DFP) goto decode_noDFP;
if (dis_dfp_fmt_conv( theInstr ))
goto decode_success;
goto decode_failure;
@@ -19598,6 +19599,7 @@
goto decode_success;
goto decode_failure;
case 0xA2: // dtstexq - DFP Test exponent Quad
+ if (!allow_DFP) goto decode_noDFP;
if (dis_dfp_exponent_test( theInstr ) )
goto decode_success;
goto decode_failure;
|
|
From: <sv...@va...> - 2015-09-21 09:57:36
|
Author: sewardj
Date: Mon Sep 21 10:57:29 2015
New Revision: 15664
Log:
Merge, from trunk, r15655,6,7 (Followup to r14908 (BZ #342603))
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/coregrind/m_syswrap/syswrap-linux.c
Modified: branches/VALGRIND_3_11_BRANCH/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/coregrind/m_syswrap/syswrap-linux.c (original)
+++ branches/VALGRIND_3_11_BRANCH/coregrind/m_syswrap/syswrap-linux.c Mon Sep 21 10:57:29 2015
@@ -6862,11 +6862,10 @@
PRE_MEM_READ("ioctl(VKI_I2C_SMBUS).i2c_smbus_ioctl_data.command",
(Addr)&vkis->command, sizeof(vkis->command));
/* i2c_smbus_write_quick hides its value in read_write, so
- this variable can hava a different meaning */
+ this variable can have a different meaning */
/* to make matters worse i2c_smbus_write_byte stores its
value in command */
- if ( ! (((vkis->size == VKI_I2C_SMBUS_QUICK)
- && (vkis->command == VKI_I2C_SMBUS_QUICK)) ||
+ if ( ! ((vkis->size == VKI_I2C_SMBUS_QUICK) ||
((vkis->size == VKI_I2C_SMBUS_BYTE)
&& (vkis->read_write == VKI_I2C_SMBUS_WRITE)))) {
/* the rest uses the byte array to store the data,
@@ -6884,7 +6883,7 @@
case VKI_I2C_SMBUS_I2C_BLOCK_BROKEN:
case VKI_I2C_SMBUS_BLOCK_PROC_CALL:
case VKI_I2C_SMBUS_I2C_BLOCK_DATA:
- size = vkis->data->block[0];
+ size = 1 + vkis->data->block[0];
break;
default:
size = 0;
@@ -9388,14 +9387,11 @@
struct vki_i2c_smbus_ioctl_data *vkis
= (struct vki_i2c_smbus_ioctl_data *) ARG3;
/* i2c_smbus_write_quick hides its value in read_write, so
- this variable can hava a different meaning */
- /* to make matters worse i2c_smbus_write_byte stores its
- value in command */
+ this variable can have a different meaning */
if ((vkis->read_write == VKI_I2C_SMBUS_READ)
|| (vkis->size == VKI_I2C_SMBUS_PROC_CALL)
|| (vkis->size == VKI_I2C_SMBUS_BLOCK_PROC_CALL)) {
- if ( ! ((vkis->size == VKI_I2C_SMBUS_QUICK)
- && (vkis->command == VKI_I2C_SMBUS_QUICK))) {
+ if ( ! (vkis->size == VKI_I2C_SMBUS_QUICK)) {
UInt size;
switch(vkis->size) {
case VKI_I2C_SMBUS_BYTE:
@@ -9410,7 +9406,7 @@
case VKI_I2C_SMBUS_I2C_BLOCK_BROKEN:
case VKI_I2C_SMBUS_BLOCK_PROC_CALL:
case VKI_I2C_SMBUS_I2C_BLOCK_DATA:
- size = vkis->data->block[0];
+ size = 1 + vkis->data->block[0];
break;
default:
size = 0;
|
|
From: <sv...@va...> - 2015-09-21 09:54:23
|
Author: sewardj
Date: Mon Sep 21 10:54:17 2015
New Revision: 15663
Log:
Merge, from trunk, r15654 (Filter out glibc warning messages about unexpected futex results in tests.)
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/tests/filter_libc
Modified: branches/VALGRIND_3_11_BRANCH/tests/filter_libc
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/tests/filter_libc (original)
+++ branches/VALGRIND_3_11_BRANCH/tests/filter_libc Mon Sep 21 10:54:17 2015
@@ -36,6 +36,9 @@
s/(at.*)__builtin_vec_delete/$1...operator delete[].../;
s/(at.*)operator delete\[\]\(void\*\)/$1...operator delete[].../;
+ # Some glibc versions complain about unexpected futex syscall errors.
+ s/The futex facility returned an unexpected error code.//;
+
print;
}
|
|
From: <sv...@va...> - 2015-09-21 09:53:07
|
Author: sewardj
Date: Mon Sep 21 10:53:00 2015
New Revision: 15662
Log:
Merge, from trunk, r15653 (Add Power PC ISA check to the vbit-test; bug 352765)
Added:
branches/VALGRIND_3_11_BRANCH/tests/min_power_isa.c
- copied unchanged from r15653, trunk/tests/min_power_isa.c
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/memcheck/tests/vbit-test/irops.c
branches/VALGRIND_3_11_BRANCH/tests/Makefile.am
Modified: branches/VALGRIND_3_11_BRANCH/memcheck/tests/vbit-test/irops.c
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/memcheck/tests/vbit-test/irops.c (original)
+++ branches/VALGRIND_3_11_BRANCH/memcheck/tests/vbit-test/irops.c Mon Sep 21 10:53:00 2015
@@ -1143,6 +1143,38 @@
return p->amd64 ? p : NULL;
#endif
#ifdef __powerpc__
+#define MIN_POWER_ISA "../../../tests/min_power_isa"
+
+ switch (op) {
+ case Iop_DivS64E:
+ case Iop_DivU64E:
+ case Iop_DivU32E:
+ case Iop_DivS32E:
+ case Iop_F64toI64U:
+ case Iop_F64toI32U:
+ case Iop_I64UtoF64:
+ case Iop_I64UtoF32:
+ case Iop_I64StoD64: {
+ int rc;
+ /* IROps require a processor that supports ISA 2.06 or newer */
+ rc = system(MIN_POWER_ISA " 2.06 ");
+ rc /= 256;
+ /* MIN_POWER_ISA returns 0 if underlying HW supports the
+ * specified ISA or newer. Returns 1 if the HW does not support
+ * the specified ISA. Returns 2 on error.
+ */
+ if (rc == 1) return NULL;
+ if (rc > 2) {
+ panic(" ERROR, min_power_isa() return code is invalid.\n");
+ }
+ }
+ break;
+
+ /* Other */
+ default:
+ break;
+ }
+
#ifdef __powerpc64__
return p->ppc64 ? p : NULL;
#else
Modified: branches/VALGRIND_3_11_BRANCH/tests/Makefile.am
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/tests/Makefile.am (original)
+++ branches/VALGRIND_3_11_BRANCH/tests/Makefile.am Mon Sep 21 10:53:00 2015
@@ -1,6 +1,26 @@
include $(top_srcdir)/Makefile.tool-tests.am
+if HAS_ISA_2_05
+ISA_2_05_FLAG = -DHAS_ISA_2_05
+else
+ISA_2_05_FLAG =
+endif
+
+if HAS_ISA_2_06
+ISA_2_06_FLAG = -DHAS_ISA_2_06
+else
+ISA_2_06_FLAG =
+endif
+
+if HAS_ISA_2_07
+ISA_2_07_FLAG = -DHAS_ISA_2_07
+else
+ISA_2_07_FLAG =
+endif
+
+min_power_isa_FLAGS = $(ISA_2_05_FLAG) $(ISA_2_06_FLAG) $(ISA_2_07_FLAG)
+
dist_noinst_SCRIPTS = \
check_headers_and_includes \
check_makefile_consistency \
@@ -29,7 +49,8 @@
s390x_features \
mips_features \
power_insn_available \
- is_ppc64_BE
+ is_ppc64_BE \
+ min_power_isa
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
@@ -40,3 +61,4 @@
x86_amd64_features_CFLAGS = $(AM_CFLAGS)
endif
+min_power_isa_CFLAGS = $(min_power_isa_FLAGS)
|
|
From: <sv...@va...> - 2015-09-21 09:51:14
|
Author: sewardj
Date: Mon Sep 21 10:51:07 2015
New Revision: 15661
Log:
Merge, from trunk, r15651 (Do not compile with -Wcast-align on arm.)
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/Makefile.all.am
branches/VALGRIND_3_11_BRANCH/configure.ac
Modified: branches/VALGRIND_3_11_BRANCH/Makefile.all.am
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/Makefile.all.am (original)
+++ branches/VALGRIND_3_11_BRANCH/Makefile.all.am Mon Sep 21 10:51:07 2015
@@ -100,12 +100,12 @@
-O2 -g \
-std=gnu99 \
-Wall \
- -Wcast-align \
-Wmissing-prototypes \
-Wshadow \
-Wpointer-arith \
-Wstrict-prototypes \
-Wmissing-declarations \
+ @FLAG_W_CAST_ALIGN@ \
@FLAG_W_CAST_QUAL@ \
@FLAG_W_WRITE_STRINGS@ \
@FLAG_W_EMPTY_BODY@ \
Modified: branches/VALGRIND_3_11_BRANCH/configure.ac
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/configure.ac (original)
+++ branches/VALGRIND_3_11_BRANCH/configure.ac Mon Sep 21 10:51:07 2015
@@ -1967,6 +1967,15 @@
])
CFLAGS=$safe_CFLAGS
+# On ARM we do not want to pass -Wcast-align as that produces loads
+# of warnings. GCC is just being conservative. See here:
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65459#c4
+if test "X$VGCONF_ARCH_PRI" = "Xarm"; then
+ AC_SUBST([FLAG_W_CAST_ALIGN], [""])
+else
+ AC_SUBST([FLAG_W_CAST_ALIGN], [-Wcast-align])
+fi
+
# does this compiler support -fno-stack-protector ?
AC_MSG_CHECKING([if gcc accepts -fno-stack-protector])
|
|
From: <sv...@va...> - 2015-09-21 09:48:51
|
Author: sewardj
Date: Mon Sep 21 10:48:44 2015
New Revision: 15660
Log:
Merge, from trunk, r15650 (Fix various compiler warnings for the arm architecture.)
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/coregrind/m_debuginfo/readexidx.c
branches/VALGRIND_3_11_BRANCH/coregrind/m_sigframe/sigframe-arm-linux.c
Modified: branches/VALGRIND_3_11_BRANCH/coregrind/m_debuginfo/readexidx.c
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/coregrind/m_debuginfo/readexidx.c (original)
+++ branches/VALGRIND_3_11_BRANCH/coregrind/m_debuginfo/readexidx.c Mon Sep 21 10:48:44 2015
@@ -205,7 +205,7 @@
/* Helper function for fishing bits out of the EXIDX representation. */
-static void* Prel31ToAddr(const void* addr)
+static const void* Prel31ToAddr(const void* addr)
{
UInt offset32 = *(const UInt*)addr;
// sign extend offset32[30:0] to 64 bits -- copy bit 30 to positions
@@ -215,7 +215,7 @@
offset64 |= 0xFFFFFFFF80000000ULL;
else
offset64 &= 0x000000007FFFFFFFULL;
- return ((UChar*)addr) + (UWord)offset64;
+ return ((const UChar*)addr) + (UWord)offset64;
}
@@ -242,9 +242,9 @@
buf[(*buf_used)++] = (_byte); } while (0)
# define GET_EX_U32(_lval, _addr, _mr) \
- do { if (!MemoryRange__covers((_mr), (void*)(_addr), 4)) \
+ do { if (!MemoryRange__covers((_mr), (const void*)(_addr), 4)) \
return ExInBufOverflow; \
- (_lval) = *(UInt*)(_addr); } while (0)
+ (_lval) = *(const UInt*)(_addr); } while (0)
# define GET_EXIDX_U32(_lval, _addr) \
GET_EX_U32(_lval, _addr, mr_exidx)
@@ -263,7 +263,7 @@
UInt pers; // personality number
UInt extra; // number of extra data words required
UInt extra_allowed; // number of extra data words allowed
- UInt* extbl_data; // the handler entry, if not inlined
+ const UInt* extbl_data; // the handler entry, if not inlined
if (data & ARM_EXIDX_COMPACT) {
// The handler table entry has been inlined into the index table entry.
@@ -283,7 +283,7 @@
// The index table entry is a pointer to the handler entry. Note
// that Prel31ToAddr will read the given address, but we already
// range-checked above.
- extbl_data = (UInt*)(Prel31ToAddr(&entry->data));
+ extbl_data = Prel31ToAddr(&entry->data);
GET_EXTAB_U32(data, extbl_data);
if (!(data & ARM_EXIDX_COMPACT)) {
// This denotes a "generic model" handler. That will involve
@@ -941,7 +941,7 @@
VG_(printf)("BEGIN ML_(read_exidx) exidx_img=[%p, +%lu) "
"extab_img=[%p, +%lu) text_last_svma=%lx text_bias=%lx\n",
exidx_img, exidx_size, extab_img, extab_size,
- text_last_svma, text_bias);
+ text_last_svma, (UWord)text_bias);
Bool ok;
MemoryRange mr_exidx, mr_extab;
ok = MemoryRange__init(&mr_exidx, exidx_img, exidx_size);
Modified: branches/VALGRIND_3_11_BRANCH/coregrind/m_sigframe/sigframe-arm-linux.c
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/coregrind/m_sigframe/sigframe-arm-linux.c (original)
+++ branches/VALGRIND_3_11_BRANCH/coregrind/m_sigframe/sigframe-arm-linux.c Mon Sep 21 10:48:44 2015
@@ -248,7 +248,6 @@
struct vg_sig_private *priv;
Addr sp;
UInt frame_size;
- struct vki_sigcontext *mc;
Int sigNo;
Bool has_siginfo = isRT;
@@ -259,14 +258,12 @@
if (has_siginfo) {
struct rt_sigframe *frame = (struct rt_sigframe *)sp;
frame_size = sizeof(*frame);
- mc = &frame->sig.uc.uc_mcontext;
priv = &frame->sig.vp;
vg_assert(priv->magicPI == 0x31415927);
tst->sig_mask = frame->sig.uc.uc_sigmask;
} else {
struct sigframe *frame = (struct sigframe *)sp;
frame_size = sizeof(*frame);
- mc = &frame->uc.uc_mcontext;
priv = &frame->vp;
vg_assert(priv->magicPI == 0x31415927);
tst->sig_mask = frame->uc.uc_sigmask;
|
|
From: <sv...@va...> - 2015-09-21 09:47:01
|
Author: sewardj
Date: Mon Sep 21 10:46:55 2015
New Revision: 15659
Log:
Merge, from trunk, r15647
(libvex_test: Use arm64_[di]MinLine_lg2_szB values that make libvex happy.)
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/none/tests/libvex_test.c
Modified: branches/VALGRIND_3_11_BRANCH/none/tests/libvex_test.c
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/none/tests/libvex_test.c (original)
+++ branches/VALGRIND_3_11_BRANCH/none/tests/libvex_test.c Mon Sep 21 10:46:55 2015
@@ -221,6 +221,10 @@
// Use some values that makes AMD64 happy.
vta.abiinfo_both.guest_stack_redzone_size = 128;
+ // Use some values that makes ARM64 happy.
+ vta.archinfo_guest.arm64_dMinLine_lg2_szB = 6;
+ vta.archinfo_guest.arm64_iMinLine_lg2_szB = 6;
+
// Prepare first for a translation where guest == host
// We will translate the get_guest_arch function
vta.arch_guest = guest_arch;
|
|
From: <sv...@va...> - 2015-09-21 09:45:06
|
Author: sewardj
Date: Mon Sep 21 10:44:59 2015
New Revision: 15658
Log:
Merge, from trunk, r15645 (Update doc build hints for Fedora 21 and 22.)
Modified:
branches/VALGRIND_3_11_BRANCH/ (props changed)
branches/VALGRIND_3_11_BRANCH/docs/README
Modified: branches/VALGRIND_3_11_BRANCH/docs/README
==============================================================================
--- branches/VALGRIND_3_11_BRANCH/docs/README (original)
+++ branches/VALGRIND_3_11_BRANCH/docs/README Mon Sep 21 10:44:59 2015
@@ -81,6 +81,22 @@
Below are random notes and recollections about how to build PDF / PS
documents from the XML source at various times on various Linux distros.
+Notes [Sept 2015]
+-----------------
+Fedora 21 and 22: Had mucho trouble with building the print docs on
+F21/22 even with the [Mar 2015] package set (or something similarish)
+installed. Eventually installed "passivetex" and that fixes the
+failures.
+
+Installing the packages below on Fedora _might_ get you a working setup.
+Also you need the epstopdf-base.sty hack detailed below.
+
+ texlive-xmltex texlive-xmltex-bin texlive-xmltex-doc texlive dblatex
+ texlive-xmltex docbook-style-xsl docbook-dtds docbook-style-xsl.noarch
+ docbook-simple.noarch docbook-simple.noarch docbook-slides.noarch
+ docbook-style-dsssl.noarch docbook-utils.noarch
+ docbook-utils-pdf.noarch docbook5-schemas.noarch
+ docbook5-style-xsl.noarch passivetex
Notes [Mar 2015]
----------------
|