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
(44) |
2
(9) |
3
(30) |
4
(28) |
5
(42) |
6
(14) |
7
(10) |
|
8
(7) |
9
(8) |
10
(6) |
11
(15) |
12
(13) |
13
(14) |
14
(23) |
|
15
(17) |
16
(10) |
17
(82) |
18
(14) |
19
(21) |
20
(14) |
21
(21) |
|
22
(7) |
23
(13) |
24
(16) |
25
(11) |
26
(11) |
27
(6) |
28
(7) |
|
29
(8) |
30
(13) |
31
(8) |
|
|
|
|
|
From: Nicholas N. <nj...@cs...> - 2006-10-19 21:24:30
|
On Thu, 19 Oct 2006 sv...@va... wrote: > Author: sewardj > Date: 2006-10-19 14:23:59 +0100 (Thu, 19 Oct 2006) > New Revision: 6323 > > Log: > Back out 'memtrace' related stuff until status of it is established; > having build system references to it without corresponding sources > causes build failures. That was the right thing to do. I thought I fixed it myself but I just saw that my SVN commit failed because I wasn't up to date. Sorry for the confusion.... Nick > > Modified: > trunk/Makefile.am > trunk/configure.in > > > Modified: trunk/Makefile.am > =================================================================== > --- trunk/Makefile.am 2006-10-19 13:22:16 UTC (rev 6322) > +++ trunk/Makefile.am 2006-10-19 13:23:59 UTC (rev 6323) > @@ -8,8 +8,7 @@ > callgrind \ > massif \ > lackey \ > - none \ > - memtrace > + none > > # Temporary: we want to compile Helgrind, but not regtest it. > # Put docs last because building the HTML is slow and we want to get > > Modified: trunk/configure.in > =================================================================== > --- trunk/configure.in 2006-10-19 13:22:16 UTC (rev 6322) > +++ trunk/configure.in 2006-10-19 13:23:59 UTC (rev 6323) > @@ -931,9 +931,6 @@ > none/tests/ppc64/Makefile > none/tests/x86/Makefile > none/docs/Makefile > - memtrace/Makefile > - memtrace/tests/Makefile > - memtrace/docs/Makefile > ) > > cat<<EOF > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: Nicholas N. <nj...@cs...> - 2006-10-19 21:23:27
|
On Thu, 19 Oct 2006, Julian Seward wrote: > Did you intend to commit changes to Makefile.am and configure.in? > They cause the build to fail on ppc64 SuSE 10.1, although not on > x86 (no idea why). Whoops, no. Sorry, should now be fixed. Nick > sewardj@gwhizz:~/VgTRUNK/trunk$ rebuild_inst > make: *** No rule to make target `distclean'. > running: aclocal > running: autoheader > running: automake -a > configure.in: installing `./install-sh' > configure.in: installing `./missing' > auxprogs/Makefile.am: installing `./compile' > auxprogs/Makefile.am: installing `./depcomp' > configure.in:116: installing `./config.guess' > configure.in:116: installing `./config.sub' > configure.in:937: required file `memtrace/Makefile.in' not found > configure.in:937: required file `memtrace/tests/Makefile.in' not found > configure.in:937: required file `memtrace/docs/Makefile.in' not found > Makefile.am:6: required directory ./memtrace does not exist > error: while running 'automake -a' > /home/sewardj/Bin/rebuild_inst: line 5: ./configure: No such file or directory > make: *** No rule to make target `clean'. Stop. > > > On Wednesday 18 October 2006 22:55, Nicholas Nethercote wrote: >> On Wed, 18 Oct 2006 sv...@va... wrote: >>> Author: njn >>> Date: 2006-10-18 22:50:26 +0100 (Wed, 18 Oct 2006) >>> New Revision: 6320 >>> >>> Log: >>> Move VG_BUGS_TO to pub_tool_basics.h so that Nulgrind need not import >>> pub_tool_libcassert.h. >> >> This was an incorrect log message. It was meant to be "fix a couple of >> comments". >> >>> Modified: >>> trunk/Makefile.am >>> trunk/configure.in >>> trunk/include/pub_tool_tooliface.h >>> trunk/include/valgrind.h >>> >>> >>> Modified: trunk/Makefile.am >>> =================================================================== >>> --- trunk/Makefile.am 2006-10-18 12:41:55 UTC (rev 6319) >>> +++ trunk/Makefile.am 2006-10-18 21:50:26 UTC (rev 6320) >>> @@ -8,7 +8,8 @@ >>> callgrind \ >>> massif \ >>> lackey \ >>> - none >>> + none \ >>> + memtrace >>> >>> # Temporary: we want to compile Helgrind, but not regtest it. >>> # Put docs last because building the HTML is slow and we want to get >>> >>> Modified: trunk/configure.in >>> =================================================================== >>> --- trunk/configure.in 2006-10-18 12:41:55 UTC (rev 6319) >>> +++ trunk/configure.in 2006-10-18 21:50:26 UTC (rev 6320) >>> @@ -931,6 +931,9 @@ >>> none/tests/ppc64/Makefile >>> none/tests/x86/Makefile >>> none/docs/Makefile >>> + memtrace/Makefile >>> + memtrace/tests/Makefile >>> + memtrace/docs/Makefile >>> ) >>> >>> cat<<EOF >>> >>> Modified: trunk/include/pub_tool_tooliface.h >>> =================================================================== >>> --- trunk/include/pub_tool_tooliface.h 2006-10-18 12:41:55 UTC (rev 6319) >>> +++ trunk/include/pub_tool_tooliface.h 2006-10-18 21:50:26 UTC (rev 6320) >>> @@ -32,7 +32,7 @@ >>> #define __PUB_TOOL_TOOLIFACE_H >>> >>> #include "pub_tool_errormgr.h" // for Error, Supp >>> -#include "libvex.h" // for VexGuestLayout >>> +#include "libvex.h" // for all Vex stuff >>> >>> /* ------------------------------------------------------------------ */ >>> /* The interface version */ >>> >>> Modified: trunk/include/valgrind.h >>> =================================================================== >>> --- trunk/include/valgrind.h 2006-10-18 12:41:55 UTC (rev 6319) >>> +++ trunk/include/valgrind.h 2006-10-18 21:50:26 UTC (rev 6320) >>> @@ -3715,15 +3715,15 @@ >>> for calloc(). Put it immediately after the point where a block is >>> allocated. >>> >>> - If you're allocating memory via superblocks, and then handing out >>> small - chunks of each superblock, if you don't have redzones on your >>> small - blocks, it's worth marking the superblock with >>> VALGRIND_MAKE_MEM_NOACCESS - when it's created, so that block overruns >>> are detected. But if you can - put redzones on, it's probably better >>> to not do this, so that messages - for small overruns are described in >>> terms of the small block rather than - the superblock (but if you have >>> a big overrun that skips over a redzone, - you could miss an error this >>> way). See memcheck/tests/custom_alloc.c - for an example. >>> + If you're using Memcheck: If you're allocating memory via >>> superblocks, + and then handing out small chunks of each superblock, if >>> you don't have + redzones on your small blocks, it's worth marking the >>> superblock with + VALGRIND_MAKE_MEM_NOACCESS when it's created, so that >>> block overruns are + detected. But if you can put redzones on, it's >>> probably better to not do + this, so that messages for small overruns >>> are described in terms of the + small block rather than the superblock >>> (but if you have a big overrun + that skips over a redzone, you could >>> miss an error this way). See + memcheck/tests/custom_alloc.c for an >>> example. >>> >>> WARNING: if your allocator uses malloc() or 'new' to allocate >>> superblocks, rather than mmap() or brk(), this will not work properly >>> -- >>> >>> >>> ------------------------------------------------------------------------- >>> Using Tomcat but need to do more? Need to support web services, security? >>> Get stuff done quickly with pre-integrated technology to make your job >>> easier Download IBM WebSphere Application Server v.1.0.1 based on Apache >>> Geronimo >>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>> _______________________________________________ >>> Valgrind-developers mailing list >>> Val...@li... >>> https://lists.sourceforge.net/lists/listinfo/valgrind-developers >> >> ------------------------------------------------------------------------- >> Using Tomcat but need to do more? Need to support web services, security? >> Get stuff done quickly with pre-integrated technology to make your job >> easier Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Valgrind-developers mailing list >> Val...@li... >> https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: Lou Sanchez-C. <lou...@xi...> - 2006-10-19 19:27:04
|
Hi, I'm writing a suppression editor for valkyrie, and to generate the proper suppression I need to have the real entry point name. The xml output provided by memcheck has only the demangled name. I was looking into a mangling utility, but after reading about possible problems with the demangling in valgrind it seems the safest thing is to also supply the real entry point name in the xml output. Thoughts? Cheers Lou P.S. This is not an enhancement request, I plan to do the work. |
|
From: Lou Sanchez-C. <lou...@xi...> - 2006-10-19 18:58:58
|
Hi,
I'm writing a suppression editor for valkyrie, and to generate the
proper suppression I need to have the real entry point name. The xml
output provided by memcheck has only the demangled name. I was looking
into a mangling utility, but after reading about possible problems with
the demangling in valgrind it seems the safest thing is to also supply
the real entry point name in the xml output. Thoughts?
Cheers
Lou
P.S. This is not an enhancement request, I plan to do the work.
|
|
From: Julian S. <js...@ac...> - 2006-10-19 18:13:11
|
> > How does this sound to you? I can now run the regression test suite > > although I get a lot of diffs like: > > exitprog.stderr.diff > > + WARNING: Thread 1 is within 50576 bytes of running out of stack! > I don't know about that. Maybe that check detects if you are within > VKI_PAGE_SIZE of running out of stack? Which with 64KB pages isn't a big > deal, but with 4KB pages it's more dangerous. If so, changing the constant > again to 4KB (with a different name) seems reasonable. I agree with this analysis. > > pointer-trace.stderr.diff > > *** 20 **** > > ! 1,048,576 bytes in 1 blocks are definitely lost in loss record 1 of 1 > > --- 20 ---- > > ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 > > No idea what might cause this difference. > > I'm pretty sure that's harmless, just random noise. Hard to fix. Ignore. Remember, you're not trying to get zero regtest failures; you're trying to ensure you get the same regtest failures when all the regtests run in 64k-page mode as they do in 4k-page mode. > > ! 2,097,152 bytes in 1 blocks are definitely lost in loss record 1 of 1 > > --- 20 ---- > > ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 > > Does this look at all familiar? Any guesses why twice as many blocks > > would be lost? definittely vs. possibly? The .stderr.exp64 is the expected output for 64-bit platforms. This program I suspect allocates an array of 262144 pointers and so it's not surprising the leaked quantity is exactly half the required amount if you are running in 32-bit mode. Ignore. ---------- I presume you'll be sending a patch for review at some point? ---------- You should think about how to ensure the new functionality doesn't get broken in the future -- bearing in mind none (AFAIK) of the available test machines are ppc systems with 64k pages. We know from experience that functionality which is not automatically tested tends to get broken over time. One effective solution is to run the nightly build system on your own 64k-page development box. Another is to add regression tests; although I'm not sure how/what they would look like. J |
|
From: <sv...@va...> - 2006-10-19 17:31:41
|
Author: sewardj
Date: 2006-10-19 18:31:37 +0100 (Thu, 19 Oct 2006)
New Revision: 6324
Log:
Move a couple of functions out of tool view.
Modified:
trunk/coregrind/pub_core_options.h
trunk/include/pub_tool_options.h
Modified: trunk/coregrind/pub_core_options.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/pub_core_options.h 2006-10-19 13:23:59 UTC (rev 6323)
+++ trunk/coregrind/pub_core_options.h 2006-10-19 17:31:37 UTC (rev 6324)
@@ -174,6 +174,17 @@
so they can be properly handled by m_syswrap. */
extern HChar* VG_(clo_kernel_variant);
=20
+/* --------- Functions --------- */
+
+/* Call this if the executable is missing. This function prints an
+ error message, then shuts down the entire system. */
+extern void VG_(err_missing_prog) ( void );
+
+/* Similarly - complain and stop if there is some kind of config
+ error. */
+extern void VG_(err_config_error) ( Char* msg );
+
+
#endif // __PUB_CORE_OPTIONS_H
=20
/*--------------------------------------------------------------------*/
Modified: trunk/include/pub_tool_options.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_options.h 2006-10-19 13:23:59 UTC (rev 6323)
+++ trunk/include/pub_tool_options.h 2006-10-19 17:31:37 UTC (rev 6324)
@@ -86,13 +86,7 @@
entire system. */
extern void VG_(err_bad_option) ( Char* opt );
=20
-/* Similarly - complain that the executable is missing, then stop. */
-extern void VG_(err_missing_prog) ( void );
=20
-/* Similarly - complain about some config error. */
-extern void VG_(err_config_error) ( Char* msg );
-
-
#endif // __PUB_TOOL_OPTIONS_H
=20
/*--------------------------------------------------------------------*/
|
|
From: <js...@ac...> - 2006-10-19 14:15:09
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-10-19 09:00:02 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... failed
Last 20 lines of verbose log follow echo
A valgrind/VEX/LICENSE.README
U valgrind/VEX
Checked out external at revision 1671.
Checked out revision 6321.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/sewardj/Nightly/Inst
running: aclocal
running: autoheader
running: automake -a
configure.in: installing `./install-sh'
configure.in: installing `./missing'
auxprogs/Makefile.am: installing `./compile'
auxprogs/Makefile.am: installing `./depcomp'
configure.in:116: installing `./config.guess'
configure.in:116: installing `./config.sub'
configure.in:937: required file `memtrace/Makefile.in' not found
configure.in:937: required file `memtrace/tests/Makefile.in' not found
configure.in:937: required file `memtrace/docs/Makefile.in' not found
Makefile.am:6: required directory ./memtrace does not exist
error: while running 'automake -a'
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 214 tests, 12 stderr failures, 7 stdout failures, 0 posttest failures ==
memcheck/tests/leak-cycle (stderr)
memcheck/tests/leak-tree (stderr)
memcheck/tests/leakotron (stdout)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/stack_changes (stderr)
memcheck/tests/xml1 (stderr)
none/tests/blockfault (stderr)
none/tests/faultstatus (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/mremap (stderr)
none/tests/mremap2 (stdout)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/jm-int (stdout)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Thu Oct 19 09:12:13 2006
--- new.short Thu Oct 19 09:13:52 2006
***************
*** 2,29 ****
Checking out valgrind source tree ... done
! Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
! Regression test results follow
!
! == 214 tests, 12 stderr failures, 7 stdout failures, 0 posttest failures ==
! memcheck/tests/leak-cycle (stderr)
! memcheck/tests/leak-tree (stderr)
! memcheck/tests/leakotron (stdout)
! memcheck/tests/pointer-trace (stderr)
! memcheck/tests/stack_changes (stderr)
! memcheck/tests/xml1 (stderr)
! none/tests/blockfault (stderr)
! none/tests/faultstatus (stderr)
! none/tests/fdleak_cmsg (stderr)
! none/tests/mremap (stderr)
! none/tests/mremap2 (stdout)
! none/tests/ppc32/jm-fp (stdout)
! none/tests/ppc32/jm-fp (stderr)
! none/tests/ppc32/jm-int (stdout)
! none/tests/ppc32/round (stdout)
! none/tests/ppc32/round (stderr)
! none/tests/ppc32/test_fx (stdout)
! none/tests/ppc32/test_fx (stderr)
! none/tests/ppc32/test_gx (stdout)
--- 2,25 ----
Checking out valgrind source tree ... done
! Configuring valgrind ... failed
! Last 20 lines of verbose log follow echo
! A valgrind/VEX/LICENSE.README
! U valgrind/VEX
! Checked out external at revision 1671.
+ Checked out revision 6321.
+ Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/sewardj/Nightly/Inst
+ running: aclocal
+ running: autoheader
+ running: automake -a
+ configure.in: installing `./install-sh'
+ configure.in: installing `./missing'
+ auxprogs/Makefile.am: installing `./compile'
+ auxprogs/Makefile.am: installing `./depcomp'
+ configure.in:116: installing `./config.guess'
+ configure.in:116: installing `./config.sub'
+ configure.in:937: required file `memtrace/Makefile.in' not found
+ configure.in:937: required file `memtrace/tests/Makefile.in' not found
+ configure.in:937: required file `memtrace/docs/Makefile.in' not found
+ Makefile.am:6: required directory ./memtrace does not exist
+ error: while running 'automake -a'
|
|
From: Julian S. <js...@ac...> - 2006-10-19 13:43:59
|
On Sunday 15 October 2006 23:33, Nicholas Nethercote wrote: > On Sun, 15 Oct 2006, Julian Seward wrote: > >> Hmm, there isn't any reason why a tool should call err_missing_prog or > >> err_config_error... I think those two should stay in m_main.c. I see > >> the similarity between the three functions, perhaps that should be > >> factored out into another function. > > > > Hmm, that's a good point. Hadn't noticed that before. Alternatively > > err_missing_prog and err_config_error could be moved from the tool .h > > to the core .h -- what say you to that? > > That's better because it's not tool-visible. But they're still not used > outside of m_main.c, so there's no need to make them visible outside that > module. I just looked into this again. Turns out that now, err_missing_prog and err_config_error are referred to by the newly created m_initimg. So the best I can do is move them to the core .h file. [Really the right answer is to create m_initimg/initimg-common.c and put them in there, since they're _only_ referred to from the two .c files in m_initimg, but that's a bit overkill right now.] J |
|
From: <sv...@va...> - 2006-10-19 13:24:02
|
Author: sewardj
Date: 2006-10-19 14:23:59 +0100 (Thu, 19 Oct 2006)
New Revision: 6323
Log:
Back out 'memtrace' related stuff until status of it is established;
having build system references to it without corresponding sources
causes build failures.
Modified:
trunk/Makefile.am
trunk/configure.in
Modified: trunk/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/Makefile.am 2006-10-19 13:22:16 UTC (rev 6322)
+++ trunk/Makefile.am 2006-10-19 13:23:59 UTC (rev 6323)
@@ -8,8 +8,7 @@
callgrind \
massif \
lackey \
- none \
- memtrace
+ none
=20
# Temporary: we want to compile Helgrind, but not regtest it.
# Put docs last because building the HTML is slow and we want to get
Modified: trunk/configure.in
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/configure.in 2006-10-19 13:22:16 UTC (rev 6322)
+++ trunk/configure.in 2006-10-19 13:23:59 UTC (rev 6323)
@@ -931,9 +931,6 @@
none/tests/ppc64/Makefile
none/tests/x86/Makefile
none/docs/Makefile
- memtrace/Makefile
- memtrace/tests/Makefile
- memtrace/docs/Makefile
)=20
=20
cat<<EOF
|
|
From: <sv...@va...> - 2006-10-19 13:22:23
|
Author: sewardj
Date: 2006-10-19 14:22:16 +0100 (Thu, 19 Oct 2006)
New Revision: 6322
Log:
Fix bug in memcheck's instrumenter introduced in r6319. Big comment
in the code explains it. Sigh. Why can't anything be simple?
Modified:
trunk/include/pub_tool_tooliface.h
trunk/memcheck/mc_translate.c
Modified: trunk/include/pub_tool_tooliface.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_tooliface.h 2006-10-18 23:46:26 UTC (rev 6321)
+++ trunk/include/pub_tool_tooliface.h 2006-10-19 13:22:16 UTC (rev 6322)
@@ -226,6 +226,11 @@
{x86,amd64,ppc32}-linux; on those platforms, wrappers can
longjump and recurse arbitrarily and everything should work
fine.
+
+ Note that copying the preamble verbatim may cause complications
+ for your instrumenter if you shadow IR temporaries. See big
+ comment in MC_(instrument) in memcheck/mc_translate.c for
+ details.
*/
IRBB*(*instrument)(VgCallbackClosure* closure,=20
IRBB* bb_in,=20
Modified: trunk/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_translate.c 2006-10-18 23:46:26 UTC (rev 6321)
+++ trunk/memcheck/mc_translate.c 2006-10-19 13:22:16 UTC (rev 6322)
@@ -117,7 +117,7 @@
that, and the tmpMap is updated to reflect the new binding.
=20
A corollary is that if the tmpMap maps a given tmp to
- INVALID_IRTEMP and we are hoping to read that shadow tmp, it means
+ IRTemp_INVALID and we are hoping to read that shadow tmp, it means
there's a read-before-write error in the original tmps. The IR
sanity checker should catch all such anomalies, however. =20
*/
@@ -233,7 +233,7 @@
case Ity_I32: return IRExpr_Const(IRConst_U32(0));
case Ity_I64: return IRExpr_Const(IRConst_U64(0));
case Ity_V128: return IRExpr_Const(IRConst_V128(0x0000));
- default: VG_(tool_panic)("memcheck:definedOfType");
+ default: VG_(tool_panic)("memcheck:definedOfType");
}
}
=20
@@ -3281,7 +3281,7 @@
=20
bogus =3D False;
=20
- for (i =3D 0; i < bb_in->stmts_used; i++) {
+ for (i =3D 0; i < bb_in->stmts_used; i++) {
=20
st =3D bb_in->stmts[i];
tl_assert(st);
@@ -3302,6 +3302,8 @@
=20
/* Copy verbatim any IR preamble preceding the first IMark */
=20
+ tl_assert(mce.bb =3D=3D bb);
+
i =3D 0;
while (i < bb_in->stmts_used && bb_in->stmts[i]->tag !=3D Ist_IMark) =
{
=20
@@ -3313,6 +3315,40 @@
i++;
}
=20
+ /* Nasty problem. IR optimisation of the pre-instrumented IR may
+ cause the IR following the preamble to contain references to IR
+ temporaries defined in the preamble. Because the preamble isn't
+ instrumented, these temporaries don't have any shadows.
+ Nevertheless uses of them following the preamble will cause
+ memcheck to generate references to their shadows. End effect is
+ to cause IR sanity check failures, due to references to
+ non-existent shadows. This is only evident for the complex
+ preambles used for function wrapping on TOC-afflicted platforms
+ (ppc64-linux, ppc32-aix5, ppc64-aix5).
+
+ The following loop therefore scans the preamble looking for
+ assignments to temporaries. For each one found it creates an
+ assignment to the corresponding shadow temp, marking it as
+ 'defined'. This is the same resulting IR as if the main
+ instrumentation loop before had been applied to the statement
+ 'tmp =3D CONSTANT'.
+ */
+ for (j =3D 0; j < i; j++) {
+ if (bb_in->stmts[j]->tag =3D=3D Ist_Tmp) {
+ /* findShadowTmp checks its arg is an original tmp;
+ no need to assert that here. */
+ IRTemp tmp_o =3D bb_in->stmts[j]->Ist.Tmp.tmp;
+ IRTemp tmp_s =3D findShadowTmp(&mce, tmp_o);
+ IRType ty_s =3D typeOfIRTemp(bb->tyenv, tmp_s);
+ assign( bb, tmp_s, definedOfType( ty_s ) );
+ if (0) {
+ VG_(printf)("create shadow tmp for preamble tmp [%d] ty ", j=
);
+ ppIRType( ty_s );
+ VG_(printf)("\n");
+ }
+ }
+ }
+
/* Iterate over the remaining stmts to generate instrumentation. */
=20
tl_assert(bb_in->stmts_used > 0);
|
|
From: Julian S. <js...@ac...> - 2006-10-19 11:36:54
|
Did you intend to commit changes to Makefile.am and configure.in? They cause the build to fail on ppc64 SuSE 10.1, although not on x86 (no idea why). J sewardj@gwhizz:~/VgTRUNK/trunk$ rebuild_inst make: *** No rule to make target `distclean'. running: aclocal running: autoheader running: automake -a configure.in: installing `./install-sh' configure.in: installing `./missing' auxprogs/Makefile.am: installing `./compile' auxprogs/Makefile.am: installing `./depcomp' configure.in:116: installing `./config.guess' configure.in:116: installing `./config.sub' configure.in:937: required file `memtrace/Makefile.in' not found configure.in:937: required file `memtrace/tests/Makefile.in' not found configure.in:937: required file `memtrace/docs/Makefile.in' not found Makefile.am:6: required directory ./memtrace does not exist error: while running 'automake -a' /home/sewardj/Bin/rebuild_inst: line 5: ./configure: No such file or directory make: *** No rule to make target `clean'. Stop. On Wednesday 18 October 2006 22:55, Nicholas Nethercote wrote: > On Wed, 18 Oct 2006 sv...@va... wrote: > > Author: njn > > Date: 2006-10-18 22:50:26 +0100 (Wed, 18 Oct 2006) > > New Revision: 6320 > > > > Log: > > Move VG_BUGS_TO to pub_tool_basics.h so that Nulgrind need not import > > pub_tool_libcassert.h. > > This was an incorrect log message. It was meant to be "fix a couple of > comments". > > > Modified: > > trunk/Makefile.am > > trunk/configure.in > > trunk/include/pub_tool_tooliface.h > > trunk/include/valgrind.h > > > > > > Modified: trunk/Makefile.am > > =================================================================== > > --- trunk/Makefile.am 2006-10-18 12:41:55 UTC (rev 6319) > > +++ trunk/Makefile.am 2006-10-18 21:50:26 UTC (rev 6320) > > @@ -8,7 +8,8 @@ > > callgrind \ > > massif \ > > lackey \ > > - none > > + none \ > > + memtrace > > > > # Temporary: we want to compile Helgrind, but not regtest it. > > # Put docs last because building the HTML is slow and we want to get > > > > Modified: trunk/configure.in > > =================================================================== > > --- trunk/configure.in 2006-10-18 12:41:55 UTC (rev 6319) > > +++ trunk/configure.in 2006-10-18 21:50:26 UTC (rev 6320) > > @@ -931,6 +931,9 @@ > > none/tests/ppc64/Makefile > > none/tests/x86/Makefile > > none/docs/Makefile > > + memtrace/Makefile > > + memtrace/tests/Makefile > > + memtrace/docs/Makefile > > ) > > > > cat<<EOF > > > > Modified: trunk/include/pub_tool_tooliface.h > > =================================================================== > > --- trunk/include/pub_tool_tooliface.h 2006-10-18 12:41:55 UTC (rev 6319) > > +++ trunk/include/pub_tool_tooliface.h 2006-10-18 21:50:26 UTC (rev 6320) > > @@ -32,7 +32,7 @@ > > #define __PUB_TOOL_TOOLIFACE_H > > > > #include "pub_tool_errormgr.h" // for Error, Supp > > -#include "libvex.h" // for VexGuestLayout > > +#include "libvex.h" // for all Vex stuff > > > > /* ------------------------------------------------------------------ */ > > /* The interface version */ > > > > Modified: trunk/include/valgrind.h > > =================================================================== > > --- trunk/include/valgrind.h 2006-10-18 12:41:55 UTC (rev 6319) > > +++ trunk/include/valgrind.h 2006-10-18 21:50:26 UTC (rev 6320) > > @@ -3715,15 +3715,15 @@ > > for calloc(). Put it immediately after the point where a block is > > allocated. > > > > - If you're allocating memory via superblocks, and then handing out > > small - chunks of each superblock, if you don't have redzones on your > > small - blocks, it's worth marking the superblock with > > VALGRIND_MAKE_MEM_NOACCESS - when it's created, so that block overruns > > are detected. But if you can - put redzones on, it's probably better > > to not do this, so that messages - for small overruns are described in > > terms of the small block rather than - the superblock (but if you have > > a big overrun that skips over a redzone, - you could miss an error this > > way). See memcheck/tests/custom_alloc.c - for an example. > > + If you're using Memcheck: If you're allocating memory via > > superblocks, + and then handing out small chunks of each superblock, if > > you don't have + redzones on your small blocks, it's worth marking the > > superblock with + VALGRIND_MAKE_MEM_NOACCESS when it's created, so that > > block overruns are + detected. But if you can put redzones on, it's > > probably better to not do + this, so that messages for small overruns > > are described in terms of the + small block rather than the superblock > > (but if you have a big overrun + that skips over a redzone, you could > > miss an error this way). See + memcheck/tests/custom_alloc.c for an > > example. > > > > WARNING: if your allocator uses malloc() or 'new' to allocate > > superblocks, rather than mmap() or brk(), this will not work properly > > -- > > > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > > Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Valgrind-developers mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Nicholas N. <nj...@cs...> - 2006-10-19 05:34:48
|
On Wed, 18 Oct 2006, Dave Nomura wrote: > I found some more places that uses VKI_PAGE_SIZE in m_ume.c. The two > references in mapelf() and load_ELF() look like they are using VKI_PAGE_SIZE > as "the pagesize", but the two references in load_script() and > VG_(pre_exec_check) are, I believe, using VKI_PAGE_SIZE is just a > sufficiently large chunk of buffer size to read in enough of the script, or > elf executable file to file to be able to call match_ELF(), match_script() or > to parse some of the stuff in the interpreter script. Since my change makes > VKI_PAGE_SIZE a variable, I replaced these two references in load_script() > and VG_(pre_exec_check) by VKI_STATIC_PAGE_SIZE which was the larger of the > two possible choices. This caused problems because it was pushing onto the > stack an array of 64K bytes and was overflowing the stack. In > VG_(pre_exec_check) the call to VG_(pread) was writing onto some of my global > variables and the program crashed. > > The change I am proposing is to replace these two references to VKI_PAGE_SIZE > in load_script() and VG_(pre_exec_check) by INITIAL_CHUNK_SIZE which I've > defined locally as 4K. Nice detective work! INITIAL_CHUNK_SIZE == 4k sounds reasonable to me. > How does this sound to you? I can now run the regression test suite although > I get a lot of diffs like: > exitprog.stderr.diff > + WARNING: Thread 1 is within 50576 bytes of running out of stack! > Can you think of a reason why the stack usage would be different on a machine > with a different pagesize? Are there some pagesize chunks of memory allocated > that would reduce the amount of space available for the stack? > Maybe there is some other area that requires some pagesize dependent changes? I don't know about that. Maybe that check detects if you are within VKI_PAGE_SIZE of running out of stack? Which with 64KB pages isn't a big deal, but with 4KB pages it's more dangerous. If so, changing the constant again to 4KB (with a different name) seems reasonable. > pointer-trace.stderr.diff > *** 20 **** > ! 1,048,576 bytes in 1 blocks are definitely lost in loss record 1 of 1 > --- 20 ---- > ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 > No idea what might cause this difference. I'm pretty sure that's harmless, just random noise. > pointer-trace.stderr.diff64 > *** 20 **** > ! 2,097,152 bytes in 1 blocks are definitely lost in loss record 1 of 1 > --- 20 ---- > ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 > Does this look at all familiar? Any guesses why twice as many blocks would > be lost? definittely vs. possibly? I don't know about that one, but pointer-trace fails all the time in the nightly regression tests. The .exp64 output might just be wrong? Nick |
|
From: Dave N. <dc...@us...> - 2006-10-19 04:22:38
|
I found some more places that uses VKI_PAGE_SIZE in m_ume.c. The two references in mapelf() and load_ELF() look like they are using VKI_PAGE_SIZE as "the pagesize", but the two references in load_script() and VG_(pre_exec_check) are, I believe, using VKI_PAGE_SIZE is just a sufficiently large chunk of buffer size to read in enough of the script, or elf executable file to file to be able to call match_ELF(), match_script() or to parse some of the stuff in the interpreter script. Since my change makes VKI_PAGE_SIZE a variable, I replaced these two references in load_script() and VG_(pre_exec_check) by VKI_STATIC_PAGE_SIZE which was the larger of the two possible choices. This caused problems because it was pushing onto the stack an array of 64K bytes and was overflowing the stack. In VG_(pre_exec_check) the call to VG_(pread) was writing onto some of my global variables and the program crashed. The change I am proposing is to replace these two references to VKI_PAGE_SIZE in load_script() and VG_(pre_exec_check) by INITIAL_CHUNK_SIZE which I've defined locally as 4K. How does this sound to you? I can now run the regression test suite although I get a lot of diffs like: exitprog.stderr.diff + WARNING: Thread 1 is within 50576 bytes of running out of stack! Can you think of a reason why the stack usage would be different on a machine with a different pagesize? Are there some pagesize chunks of memory allocated that would reduce the amount of space available for the stack? Maybe there is some other area that requires some pagesize dependent changes? pointer-trace.stderr.diff *** 20 **** ! 1,048,576 bytes in 1 blocks are definitely lost in loss record 1 of 1 --- 20 ---- ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 No idea what might cause this difference. pointer-trace.stderr.diff64 *** 20 **** ! 2,097,152 bytes in 1 blocks are definitely lost in loss record 1 of 1 --- 20 ---- ! 1,048,576 bytes in 1 blocks are possibly lost in loss record 1 of 1 Does this look at all familiar? Any guesses why twice as many blocks would be lost? definittely vs. possibly? Julian Seward wrote: >> Does the configuration of the VG_(interim_stack) have to match the one >> created by VG_(am_alloc_VgStack)? >> > > No. The VG_(interim_stack) doesn't even have to have type VgStack; > it was just the simple and obvious thing to do. At least it when we > had page sizes known at compile time. It could just be a normal > block of memory, eg UChar[65536]. Doing that would leave you free > to have VG_(am_alloc_VgStack) allocate p/64k/p stacks where p is > the current page size. That is simple and avoids wasting space on > 4k-page machines. > > J > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: <sv...@va...> - 2006-10-19 03:01:14
|
Author: sewardj
Date: 2006-10-19 04:01:09 +0100 (Thu, 19 Oct 2006)
New Revision: 1671
Log:
When doing rlwinm in 64-bit mode, bind the intermediate 32-bit result
to a temporary so it is only computed once. What's there currently
causes it to be computed twice.
Modified:
trunk/priv/guest-ppc/toIR.c
Modified: trunk/priv/guest-ppc/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-ppc/toIR.c 2006-10-19 00:15:25 UTC (rev 1670)
+++ trunk/priv/guest-ppc/toIR.c 2006-10-19 03:01:09 UTC (rev 1671)
@@ -3312,6 +3312,7 @@
vassert(sh_imm < 32);
=20
if (mode64) {
+ IRTemp rTmp =3D newTemp(Ity_I64);
mask64 =3D MASK64(31-MaskEnd, 31-MaskBeg);
DIP("rlwinm%s r%u,r%u,%d,%d,%d\n", flag_rC ? ".":"",
rA_addr, rS_addr, sh_imm, MaskBeg, MaskEnd);
@@ -3319,8 +3320,10 @@
// rA =3D ((tmp32 || tmp32) & mask64)
r =3D ROTL( unop(Iop_64to32, mkexpr(rS) ), mkU8(sh_imm) );
r =3D unop(Iop_32Uto64, r);
- assign( rot, binop(Iop_Or64, r,
- binop(Iop_Shl64, r, mkU8(32))) );
+ assign( rTmp, r );
+ r =3D NULL;
+ assign( rot, binop(Iop_Or64, mkexpr(rTmp),
+ binop(Iop_Shl64, mkexpr(rTmp), mkU8(32))) );
assign( rA, binop(Iop_And64, mkexpr(rot), mkU64(mask64)) );
}
else {
|
|
From: Tom H. <to...@co...> - 2006-10-19 02:39:11
|
Nightly build on dunsmere ( athlon, Fedora Core 5 ) started at 2006-10-19 03:30:05 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... failed Last 20 lines of verbose log follow echo Checked out revision 6321. Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.8443/Inst running: aclocal /usr/share/aclocal/rep.m4:7: warning: underquoted definition of AM_PATH_REP run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /usr/share/aclocal/libole2.m4:18: warning: underquoted definition of AM_PATH_LIBOLE2 running: autoheader running: automake -a configure.in: installing `./install-sh' configure.in: installing `./missing' auxprogs/Makefile.am: installing `./compile' auxprogs/Makefile.am: installing `./depcomp' configure.in:116: installing `./config.guess' configure.in:116: installing `./config.sub' configure.in:937: required file `memtrace/Makefile.in' not found configure.in:937: required file `memtrace/tests/Makefile.in' not found configure.in:937: required file `memtrace/docs/Makefile.in' not found Makefile.am:6: required directory ./memtrace does not exist error: while running 'automake -a' ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 246 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 19 03:38:06 2006 --- new.short Thu Oct 19 03:39:05 2006 *************** *** 2,17 **** Checking out valgrind source tree ... done ! Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... failed ! ! Regression test results follow ! ! == 246 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/stack_switch (stderr) ! memcheck/tests/x86/scalar (stderr) ! none/tests/blockfault (stderr) ! none/tests/fdleak_cmsg (stderr) ! none/tests/mremap (stderr) ! none/tests/mremap2 (stdout) --- 2,25 ---- Checking out valgrind source tree ... done ! Configuring valgrind ... failed + Last 20 lines of verbose log follow echo + Checked out revision 6321. + Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.8443/Inst + running: aclocal + /usr/share/aclocal/rep.m4:7: warning: underquoted definition of AM_PATH_REP + run info '(automake)Extending aclocal' + or see http://sources.redhat.com/automake/automake.html#Extending-aclocal + /usr/share/aclocal/libole2.m4:18: warning: underquoted definition of AM_PATH_LIBOLE2 + running: autoheader + running: automake -a + configure.in: installing `./install-sh' + configure.in: installing `./missing' + auxprogs/Makefile.am: installing `./compile' + auxprogs/Makefile.am: installing `./depcomp' + configure.in:116: installing `./config.guess' + configure.in:116: installing `./config.sub' + configure.in:937: required file `memtrace/Makefile.in' not found + configure.in:937: required file `memtrace/tests/Makefile.in' not found + configure.in:937: required file `memtrace/docs/Makefile.in' not found + Makefile.am:6: required directory ./memtrace does not exist + error: while running 'automake -a' |
|
From: Tom H. <th...@cy...> - 2006-10-19 02:24:35
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-10-19 03:15:05 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... failed
Last 20 lines of verbose log follow echo
A valgrind/VEX/Makefile
A valgrind/VEX/LICENSE.README
U valgrind/VEX
Checked out external at revision 1670.
Checked out revision 6321.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.22818/Inst
running: aclocal
running: autoheader
running: automake -a
configure.in: installing `./install-sh'
configure.in: installing `./mkinstalldirs'
configure.in: installing `./missing'
configure.in:116: installing `./config.guess'
configure.in:116: installing `./config.sub'
Makefile.am:17: required directory ./memtrace does not exist
auxprogs/Makefile.am: installing `./compile'
auxprogs/Makefile.am: installing `./depcomp'
Makefile.am:17: required directory ./memtrace does not exist
error: while running 'automake -a'
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Last 20 lines of verbose log follow echo
/tmp/cciyBdDk.s:4393: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:4513: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:4633: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:4753: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:4873: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:4993: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:5113: Error: no such instruction: `fisttpq -56(%ebp)'
/tmp/cciyBdDk.s:5233: Error: no such instruction: `fisttpq -56(%ebp)'
make[5]: *** [insn_sse3.o] Error 1
rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c
make[5]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests/x86'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests/x86'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/tmp/valgrind.22818/valgrind/none'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/valgrind.22818/valgrind'
make: *** [check] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Thu Oct 19 03:21:50 2006
--- new.short Thu Oct 19 03:24:25 2006
***************
*** 2,27 ****
Checking out valgrind source tree ... done
! Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
Last 20 lines of verbose log follow echo
! /tmp/cciyBdDk.s:4393: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:4513: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:4633: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:4753: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:4873: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:4993: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:5113: Error: no such instruction: `fisttpq -56(%ebp)'
! /tmp/cciyBdDk.s:5233: Error: no such instruction: `fisttpq -56(%ebp)'
! make[5]: *** [insn_sse3.o] Error 1
! rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c
! make[5]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests/x86'
! make[4]: *** [check-am] Error 2
! make[4]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests/x86'
! make[3]: *** [check-recursive] Error 1
! make[3]: Leaving directory `/tmp/valgrind.22818/valgrind/none/tests'
! make[2]: *** [check-recursive] Error 1
! make[2]: Leaving directory `/tmp/valgrind.22818/valgrind/none'
! make[1]: *** [check-recursive] Error 1
! make[1]: Leaving directory `/tmp/valgrind.22818/valgrind'
! make: *** [check] Error 2
--- 2,25 ----
Checking out valgrind source tree ... done
! Configuring valgrind ... failed
Last 20 lines of verbose log follow echo
! A valgrind/VEX/Makefile
! A valgrind/VEX/LICENSE.README
! U valgrind/VEX
! Checked out external at revision 1670.
!
! Checked out revision 6321.
! Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.22818/Inst
! running: aclocal
! running: autoheader
! running: automake -a
! configure.in: installing `./install-sh'
! configure.in: installing `./mkinstalldirs'
! configure.in: installing `./missing'
! configure.in:116: installing `./config.guess'
! configure.in:116: installing `./config.sub'
! Makefile.am:17: required directory ./memtrace does not exist
! auxprogs/Makefile.am: installing `./compile'
! auxprogs/Makefile.am: installing `./depcomp'
! Makefile.am:17: required directory ./memtrace does not exist
! error: while running 'automake -a'
|
|
From: Tom H. <th...@cy...> - 2006-10-19 02:20:51
|
Nightly build on dellow ( x86_64, Fedora Core 5 ) started at 2006-10-19 03:10:04 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... failed Last 20 lines of verbose log follow echo Checked out revision 6321. Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.21690/Inst running: aclocal /usr/share/aclocal/rep.m4:7: warning: underquoted definition of AM_PATH_REP run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal running: autoheader running: automake -a configure.in: installing `./install-sh' configure.in: installing `./missing' auxprogs/Makefile.am: installing `./compile' auxprogs/Makefile.am: installing `./depcomp' configure.in:116: installing `./config.guess' configure.in:116: installing `./config.sub' configure.in:937: required file `memtrace/Makefile.in' not found configure.in:937: required file `memtrace/tests/Makefile.in' not found configure.in:937: required file `memtrace/docs/Makefile.in' not found Makefile.am:6: required directory ./memtrace does not exist error: while running 'automake -a' ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 274 tests, 22 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_creat (stderr) none/tests/fdleak_dup (stderr) none/tests/fdleak_dup2 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/fdleak_ipv4 (stderr) none/tests/fdleak_open (stderr) none/tests/fdleak_pipe (stderr) none/tests/fdleak_socketpair (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/rlimit_nofile (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 19 03:18:19 2006 --- new.short Thu Oct 19 03:20:41 2006 *************** *** 2,33 **** Checking out valgrind source tree ... done ! Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... failed ! Regression test results follow ! ! == 274 tests, 22 stderr failures, 1 stdout failure, 0 posttest failures == ! memcheck/tests/leak-pool-0 (stderr) ! memcheck/tests/leak-pool-1 (stderr) ! memcheck/tests/leak-pool-2 (stderr) ! memcheck/tests/leak-pool-3 (stderr) ! memcheck/tests/leak-pool-4 (stderr) ! memcheck/tests/leak-pool-5 (stderr) ! memcheck/tests/mempool (stderr) ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/x86/scalar (stderr) ! memcheck/tests/xml1 (stderr) ! none/tests/blockfault (stderr) ! none/tests/fdleak_cmsg (stderr) ! none/tests/fdleak_creat (stderr) ! none/tests/fdleak_dup (stderr) ! none/tests/fdleak_dup2 (stderr) ! none/tests/fdleak_fcntl (stderr) ! none/tests/fdleak_ipv4 (stderr) ! none/tests/fdleak_open (stderr) ! none/tests/fdleak_pipe (stderr) ! none/tests/fdleak_socketpair (stderr) ! none/tests/mremap (stderr) ! none/tests/mremap2 (stdout) ! none/tests/rlimit_nofile (stderr) --- 2,25 ---- Checking out valgrind source tree ... done ! Configuring valgrind ... failed ! Last 20 lines of verbose log follow echo + Checked out revision 6321. + Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.21690/Inst + running: aclocal + /usr/share/aclocal/rep.m4:7: warning: underquoted definition of AM_PATH_REP + run info '(automake)Extending aclocal' + or see http://sources.redhat.com/automake/automake.html#Extending-aclocal + running: autoheader + running: automake -a + configure.in: installing `./install-sh' + configure.in: installing `./missing' + auxprogs/Makefile.am: installing `./compile' + auxprogs/Makefile.am: installing `./depcomp' + configure.in:116: installing `./config.guess' + configure.in:116: installing `./config.sub' + configure.in:937: required file `memtrace/Makefile.in' not found + configure.in:937: required file `memtrace/tests/Makefile.in' not found + configure.in:937: required file `memtrace/docs/Makefile.in' not found + Makefile.am:6: required directory ./memtrace does not exist + error: while running 'automake -a' |
|
From: Tom H. <th...@cy...> - 2006-10-19 02:17:52
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2006-10-19 03:05:07 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... failed
Last 20 lines of verbose log follow echo
A valgrind/VEX/LICENSE.README
U valgrind/VEX
Checked out external at revision 1670.
Checked out revision 6321.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.19047/Inst
running: aclocal
running: autoheader
running: automake -a
configure.in: installing `./install-sh'
configure.in: installing `./missing'
auxprogs/Makefile.am: installing `./compile'
auxprogs/Makefile.am: installing `./depcomp'
configure.in:116: installing `./config.guess'
configure.in:116: installing `./config.sub'
configure.in:937: required file `memtrace/Makefile.in' not found
configure.in:937: required file `memtrace/tests/Makefile.in' not found
configure.in:937: required file `memtrace/docs/Makefile.in' not found
Makefile.am:6: required directory ./memtrace does not exist
error: while running 'automake -a'
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 274 tests, 14 stderr failures, 1 stdout failure, 0 posttest failures ==
memcheck/tests/leak-pool-0 (stderr)
memcheck/tests/leak-pool-1 (stderr)
memcheck/tests/leak-pool-2 (stderr)
memcheck/tests/leak-pool-3 (stderr)
memcheck/tests/leak-pool-4 (stderr)
memcheck/tests/leak-pool-5 (stderr)
memcheck/tests/mempool (stderr)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/stack_switch (stderr)
memcheck/tests/x86/scalar (stderr)
memcheck/tests/x86/scalar_supp (stderr)
none/tests/blockfault (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/mremap (stderr)
none/tests/mremap2 (stdout)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Thu Oct 19 03:13:01 2006
--- new.short Thu Oct 19 03:17:38 2006
***************
*** 2,25 ****
Checking out valgrind source tree ... done
! Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
! Regression test results follow
!
! == 274 tests, 14 stderr failures, 1 stdout failure, 0 posttest failures ==
! memcheck/tests/leak-pool-0 (stderr)
! memcheck/tests/leak-pool-1 (stderr)
! memcheck/tests/leak-pool-2 (stderr)
! memcheck/tests/leak-pool-3 (stderr)
! memcheck/tests/leak-pool-4 (stderr)
! memcheck/tests/leak-pool-5 (stderr)
! memcheck/tests/mempool (stderr)
! memcheck/tests/pointer-trace (stderr)
! memcheck/tests/stack_switch (stderr)
! memcheck/tests/x86/scalar (stderr)
! memcheck/tests/x86/scalar_supp (stderr)
! none/tests/blockfault (stderr)
! none/tests/fdleak_cmsg (stderr)
! none/tests/mremap (stderr)
! none/tests/mremap2 (stdout)
--- 2,25 ----
Checking out valgrind source tree ... done
! Configuring valgrind ... failed
! Last 20 lines of verbose log follow echo
! A valgrind/VEX/LICENSE.README
! U valgrind/VEX
! Checked out external at revision 1670.
+ Checked out revision 6321.
+ Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/tmp/valgrind.19047/Inst
+ running: aclocal
+ running: autoheader
+ running: automake -a
+ configure.in: installing `./install-sh'
+ configure.in: installing `./missing'
+ auxprogs/Makefile.am: installing `./compile'
+ auxprogs/Makefile.am: installing `./depcomp'
+ configure.in:116: installing `./config.guess'
+ configure.in:116: installing `./config.sub'
+ configure.in:937: required file `memtrace/Makefile.in' not found
+ configure.in:937: required file `memtrace/tests/Makefile.in' not found
+ configure.in:937: required file `memtrace/docs/Makefile.in' not found
+ Makefile.am:6: required directory ./memtrace does not exist
+ error: while running 'automake -a'
|
|
From: Tom H. <th...@cy...> - 2006-10-19 02:17:26
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-10-19 03:00:04 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... failed
Last 20 lines of verbose log follow echo
/usr/share/aclocal/ogg.m4:8: warning: underquoted definition of XIPH_PATH_OGG
/usr/share/aclocal/libmikmod.m4:11: warning: underquoted definition of AM_PATH_LIBMIKMOD
/usr/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE
running: autoheader
running: automake -a
configure.in: installing `./install-sh'
configure.in: installing `./missing'
configure.in:116: installing `./config.guess'
configure.in:116: installing `./config.sub'
configure.in:937: required file `memtrace/Makefile.in' not found
configure.in:937: required file `memtrace/tests/Makefile.in' not found
configure.in:937: required file `memtrace/docs/Makefile.in' not found
Makefile.am:17: required directory ./memtrace does not exist
auxprogs/Makefile.am: installing `./compile'
auxprogs/Makefile.am: installing `./depcomp'
configure.in:937: required file `memtrace/Makefile.in' not found
configure.in:937: required file `memtrace/tests/Makefile.in' not found
configure.in:937: required file `memtrace/docs/Makefile.in' not found
Makefile.am:17: required directory ./memtrace does not exist
error: while running 'automake -a'
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 276 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures ==
memcheck/tests/leak-pool-0 (stderr)
memcheck/tests/leak-pool-1 (stderr)
memcheck/tests/leak-pool-2 (stderr)
memcheck/tests/leak-pool-3 (stderr)
memcheck/tests/leak-pool-4 (stderr)
memcheck/tests/leak-pool-5 (stderr)
memcheck/tests/mempool (stderr)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/stack_switch (stderr)
memcheck/tests/x86/scalar (stderr)
memcheck/tests/x86/scalar_supp (stderr)
none/tests/blockfault (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/fdleak_fcntl (stderr)
none/tests/mremap (stderr)
none/tests/mremap2 (stdout)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Thu Oct 19 03:12:27 2006
--- new.short Thu Oct 19 03:17:09 2006
***************
*** 2,26 ****
Checking out valgrind source tree ... done
! Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 276 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures ==
! memcheck/tests/leak-pool-0 (stderr)
! memcheck/tests/leak-pool-1 (stderr)
! memcheck/tests/leak-pool-2 (stderr)
! memcheck/tests/leak-pool-3 (stderr)
! memcheck/tests/leak-pool-4 (stderr)
! memcheck/tests/leak-pool-5 (stderr)
! memcheck/tests/mempool (stderr)
! memcheck/tests/pointer-trace (stderr)
! memcheck/tests/stack_switch (stderr)
! memcheck/tests/x86/scalar (stderr)
! memcheck/tests/x86/scalar_supp (stderr)
! none/tests/blockfault (stderr)
! none/tests/fdleak_cmsg (stderr)
! none/tests/fdleak_fcntl (stderr)
! none/tests/mremap (stderr)
! none/tests/mremap2 (stdout)
--- 2,25 ----
Checking out valgrind source tree ... done
! Configuring valgrind ... failed
+ Last 20 lines of verbose log follow echo
+ /usr/share/aclocal/ogg.m4:8: warning: underquoted definition of XIPH_PATH_OGG
+ /usr/share/aclocal/libmikmod.m4:11: warning: underquoted definition of AM_PATH_LIBMIKMOD
+ /usr/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE
+ running: autoheader
+ running: automake -a
+ configure.in: installing `./install-sh'
+ configure.in: installing `./missing'
+ configure.in:116: installing `./config.guess'
+ configure.in:116: installing `./config.sub'
+ configure.in:937: required file `memtrace/Makefile.in' not found
+ configure.in:937: required file `memtrace/tests/Makefile.in' not found
+ configure.in:937: required file `memtrace/docs/Makefile.in' not found
+ Makefile.am:17: required directory ./memtrace does not exist
+ auxprogs/Makefile.am: installing `./compile'
+ auxprogs/Makefile.am: installing `./depcomp'
+ configure.in:937: required file `memtrace/Makefile.in' not found
+ configure.in:937: required file `memtrace/tests/Makefile.in' not found
+ configure.in:937: required file `memtrace/docs/Makefile.in' not found
+ Makefile.am:17: required directory ./memtrace does not exist
+ error: while running 'automake -a'
|
|
From: <sv...@va...> - 2006-10-19 00:15:29
|
Author: sewardj
Date: 2006-10-19 01:15:25 +0100 (Thu, 19 Oct 2006)
New Revision: 1670
Log:
ppc64: detect rldicl/rldicr which are simply 64-bit shifts left/right
and emit IR directly as such. Improves performance of 64-bit code (a
bit).
Modified:
trunk/priv/guest-ppc/toIR.c
Modified: trunk/priv/guest-ppc/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-ppc/toIR.c 2006-10-17 00:28:22 UTC (rev 1669)
+++ trunk/priv/guest-ppc/toIR.c 2006-10-19 00:15:25 UTC (rev 1670)
@@ -3335,7 +3335,7 @@
/* Special-case the ,32-n,n,31 form as that is just n-bit
unsigned shift right, PPC32 p501 */
DIP("srwi%s r%u,r%u,%d\n", flag_rC ? ".":"",
- rA_addr, rS_addr, sh_imm);
+ rA_addr, rS_addr, MaskBeg);
assign( rA, binop(Iop_Shr32, mkexpr(rS), mkU8(MaskBeg)) );
}
else {
@@ -3380,7 +3380,6 @@
break;
}
=20
-
/* 64bit Integer Rotates */
case 0x1E: {
msk_imm =3D ((msk_imm & 1) << 5) | (msk_imm >> 1);
@@ -3426,24 +3425,38 @@
*/
=20
case 0x0: // rldicl (Rotl DWord Imm, Clear Left, PPC64 p558)
- DIP("rldicl%s r%u,r%u,%u,%u\n", flag_rC ? ".":"",
- rA_addr, rS_addr, sh_imm, msk_imm);
- r =3D ROTL(mkexpr(rS), mkU8(sh_imm));
- mask64 =3D MASK64(0, 63-msk_imm);
- assign( rA, binop(Iop_And64, r, mkU64(mask64)) );
+ if (mode64
+ && sh_imm + msk_imm =3D=3D 64 && msk_imm >=3D 1 && msk_imm =
<=3D 63) {
+ /* special-case the ,64-n,n form as that is just
+ unsigned shift-right by n */
+ DIP("srdi%s r%u,r%u,%u\n",
+ flag_rC ? ".":"", rA_addr, rS_addr, msk_imm);
+ assign( rA, binop(Iop_Shr64, mkexpr(rS), mkU8(msk_imm)) );
+ } else {
+ DIP("rldicl%s r%u,r%u,%u,%u\n", flag_rC ? ".":"",
+ rA_addr, rS_addr, sh_imm, msk_imm);
+ r =3D ROTL(mkexpr(rS), mkU8(sh_imm));
+ mask64 =3D MASK64(0, 63-msk_imm);
+ assign( rA, binop(Iop_And64, r, mkU64(mask64)) );
+ }
break;
- /* later: deal with special case:
- (msk_imm + sh_imm =3D=3D 63) =3D> SHR(63 - sh_imm) */
=20
case 0x1: // rldicr (Rotl DWord Imm, Clear Right, PPC64 p559)
- DIP("rldicr%s r%u,r%u,%u,%u\n", flag_rC ? ".":"",
- rA_addr, rS_addr, sh_imm, msk_imm);
- r =3D ROTL(mkexpr(rS), mkU8(sh_imm));
- mask64 =3D MASK64(63-msk_imm, 63);
- assign( rA, binop(Iop_And64, r, mkU64(mask64)) );
+ if (mode64=20
+ && sh_imm + msk_imm =3D=3D 63 && sh_imm >=3D 1 && sh_imm <=3D=
63) {
+ /* special-case the ,n,63-n form as that is just
+ shift-left by n */
+ DIP("sldi%s r%u,r%u,%u\n",
+ flag_rC ? ".":"", rA_addr, rS_addr, sh_imm);
+ assign( rA, binop(Iop_Shl64, mkexpr(rS), mkU8(sh_imm)) );
+ } else {
+ DIP("rldicr%s r%u,r%u,%u,%u\n", flag_rC ? ".":"",
+ rA_addr, rS_addr, sh_imm, msk_imm);
+ r =3D ROTL(mkexpr(rS), mkU8(sh_imm));
+ mask64 =3D MASK64(63-msk_imm, 63);
+ assign( rA, binop(Iop_And64, r, mkU64(mask64)) );
+ }
break;
- /* later: deal with special case:
- (msk_imm =3D=3D sh_imm) =3D> SHL(sh_imm) */
=20
case 0x3: { // rldimi (Rotl DWord Imm, Mask Insert, PPC64 p560)
IRTemp rA_orig =3D newTemp(ty);
|