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-13 22:08:26
|
On Fri, 13 Oct 2006, Dave Nomura wrote: > What about VG_(interim_stack) in m_main.c? Ah, I didn't see that one. > If I am understanding this code correctly it appears that the asm routine > for _start is using the statically allocated VG_(interim_stack) and using > it for the stack instead of the one the kernel allocated. > > Will this all work if I allocate VG_(interim_stack) off of the heap and > change the asm code for _start to refer to the allocated object? I don't think you'll be able to do that, because it happens so early in main() that the dynamic memory manager hasn't yet started. I wonder if the exact size of this stack is so important. Perhaps you could not use the VgStack type, just use a fixed stack size (such as 64KB) that is independent of the page size? Judging from the comments, that might remove the stack overflow detection during startup, which may or may not be bad. It's an idea, but I really don't know much about this part of the system. Nick |
|
From: Dave N. <dc...@us...> - 2006-10-13 21:48:31
|
What about VG_(interim_stack) in m_main.c? If I am understanding this code
correctly it appears that the asm routine for _start is using the statically
allocated VG_(interim_stack) and using it for the stack instead of the one the
kernel allocated.
Will this all work if I allocate VG_(interim_stack) off of the heap and change
the asm code for _start to refer to the allocated object?
Nicholas Nethercote wrote:
> On Thu, 12 Oct 2006, Dave Nomura wrote:
>
>> I went looking for that e-mail that you sent me that suggested that I look in
>> the auxiliary table for AT_PAGESIZE, and I found this earlier posting. This
>> posting addresses the problem that I'm trying to solve.
>>
>> Steve Munroe pointed out that pagesize needs to be computed at run time because
>> the valgrind executables in a LDP release need to be able to handle both 4K and
>> 64K pagesizes.
>>
>> I changed VKI_PAGE_SHIFT to be a variable and initialized it in m_main.c/main()
>> (by looking through the auxiliary table as you suggested) before the first use
>> in the call to VG_(am_startup).
>>
>> include/vki-ppc{32,64}-linux.h:
>> /* PAGE_SHIFT determines the page size. On RHEL5 allows 64K page size */
>> long __vki_page_shift;
>>
>> #define VKI_PAGE_SHIFT __vki_page_shift
>> #define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT)
>>
>>
>> This works for a little bit but then dies with:
>> [...]
>>
>> I tracked this down to the #defines in coregrind/pub_core_aspacemgr.h:
>> #define VG_STACK_GUARD_SZB 8192 // 2 pages
>> #define VG_STACK_ACTIVE_SZB 65536 // 16 pages
>>
>> typedef
>> struct {
>> HChar bytes[VG_STACK_GUARD_SZB
>> + VG_STACK_ACTIVE_SZB
>> + VG_STACK_GUARD_SZB];
>> }
>> VgStack;
>>
>> I wonder if there are other places in the code that assume pagesize=4K?
>
> Probably... this is a good way to flush them out :)
>
>> I can't just change the #defines to be 2*VKI_PAGE_SIZE/16*VKI_PAGE_SIZE
>> because they are now dynamic.
>
> The good news is that it looks like it doesn't matter, because all the
> stacks are actually VgStack* rather than VgStack -- ie. pointers to VgStack.
> And the stacks are allocated in coregrind/m_aspacemgr/aspacemgr.c with
> VG_(am_alloc_VgStack):
>
> /* Allocate the stack. */
> szB = VG_STACK_GUARD_SZB
> + VG_STACK_ACTIVE_SZB + VG_STACK_GUARD_SZB;
>
> sres = VG_(am_mmap_anon_float_valgrind)( szB );
>
> I think you can probably change the VgStack type to an array of zero bytes,
> put a comment explaining things, and change VG_(am_alloc_VgStack) to use the
> dynamically-determined page-size.
>
> For 64KB pages, you should probably have one guard page at each end and one
> stack page in the middle. (Julian might have more to add.)
>
> Nick
>
> -------------------------------------------------------------------------
> 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-13 20:24:22
|
Author: sewardj
Date: 2006-10-13 21:24:17 +0100 (Fri, 13 Oct 2006)
New Revision: 6220
Log:
Tidy up macros for pulling results out of the SyscallStatus structure.
This fixes a subtle bug introduced by the simplification of the
SyscallStatus structure in the AIX branch. Fortunately
memcheck/tests/post-syscall caught it.
Modified:
branches/AIX5/coregrind/m_syswrap/priv_types_n_macros.h
branches/AIX5/coregrind/m_syswrap/syswrap-aix5.c
branches/AIX5/coregrind/m_syswrap/syswrap-generic.c
branches/AIX5/coregrind/m_syswrap/syswrap-linux.c
Modified: branches/AIX5/coregrind/m_syswrap/priv_types_n_macros.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
--- branches/AIX5/coregrind/m_syswrap/priv_types_n_macros.h 2006-10-13 11=
:10:21 UTC (rev 6219)
+++ branches/AIX5/coregrind/m_syswrap/priv_types_n_macros.h 2006-10-13 20=
:24:17 UTC (rev 6220)
@@ -271,26 +271,13 @@
#define ARG7 (arrghs->arg7)
#define ARG8 (arrghs->arg8)
=20
-/* Reference to the syscall's current result status/value. Note that
- =20
- (1) status->val by itself is meaningless -- you have to consider it
- together with status->what, which is why RES uses a helper
- function (this also has the desirable effect of turning RES
- into a non-lvalue).
-
- (2) post-wrappers will not get called in case of failure (unless
- PostOnFail is set, which is rare). This is why the assertion
- in getRES is viable.
-
- If you really really want to just get hold of status->val without
- inspecting status->what, use RES_unchecked. This is dangerous and
- therefore discouraged. =20
-*/
+/* Reference to the syscall's current result status/value. General
+ paranoia all round. */
#define SUCCESS (status->what =3D=3D SsComplete && !status->sres.i=
sError)
#define FAILURE (status->what =3D=3D SsComplete && status->sres.i=
sError)
#define SWHAT (status->what)
-#define RES_unchecked (status->sres.res) /* do not use! */
-#define RES (getRES(status)) /* use this instead, if possibl=
e */
+#define RES (getRES(status))
+#define ERR (getERR(status))
=20
static inline UWord getRES ( SyscallStatus* st ) {
vg_assert(st->what =3D=3D SsComplete);
@@ -298,6 +285,11 @@
return st->sres.res;
}
=20
+static inline UWord getERR ( SyscallStatus* st ) {
+ vg_assert(st->what =3D=3D SsComplete);
+ vg_assert(st->sres.isError);
+ return st->sres.err;
+}
=20
=20
/* Set the current result status/value in various ways. */
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-aix5.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
--- branches/AIX5/coregrind/m_syswrap/syswrap-aix5.c 2006-10-13 11:10:21 =
UTC (rev 6219)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-aix5.c 2006-10-13 20:24:17 =
UTC (rev 6220)
@@ -1033,7 +1033,7 @@
hosed:
vg_assert(FAILURE);
VG_(message)(Vg_UserMsg, "execve(%p(%s), %p, %p) failed, errno %d",
- ARG1, ARG1, ARG2, ARG3, RES_unchecked);
+ ARG1, ARG1, ARG2, ARG3, ERR);
VG_(message)(Vg_UserMsg, "EXEC FAILED: I can't recover from "
"execve() failing, so I'm dying.");
VG_(message)(Vg_UserMsg, "Add more stringent tests in PRE(sys_execve)=
, "
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-generic.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
--- branches/AIX5/coregrind/m_syswrap/syswrap-generic.c 2006-10-13 11:10:=
21 UTC (rev 6219)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-generic.c 2006-10-13 20:24:=
17 UTC (rev 6220)
@@ -2548,7 +2548,7 @@
hosed:
vg_assert(FAILURE);
VG_(message)(Vg_UserMsg, "execve(%p(%s), %p, %p) failed, errno %d",
- ARG1, ARG1, ARG2, ARG3, RES_unchecked);
+ ARG1, ARG1, ARG2, ARG3, ERR);
VG_(message)(Vg_UserMsg, "EXEC FAILED: I can't recover from "
"execve() failing, so I'm dying.");
VG_(message)(Vg_UserMsg, "Add more stringent tests in PRE(sys_execve)=
, "
@@ -4940,7 +4940,7 @@
POST(sys_nanosleep)
{
vg_assert(SUCCESS || FAILURE);
- if (ARG2 !=3D 0 && FAILURE && RES_unchecked =3D=3D VKI_EINTR)
+ if (ARG2 !=3D 0 && FAILURE && ERR =3D=3D VKI_EINTR)
POST_MEM_WRITE( ARG2, sizeof(struct vki_timespec) );
}
=20
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-linux.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
--- branches/AIX5/coregrind/m_syswrap/syswrap-linux.c 2006-10-13 11:10:21=
UTC (rev 6219)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-linux.c 2006-10-13 20:24:17=
UTC (rev 6220)
@@ -1498,7 +1498,7 @@
}
POST(sys_clock_nanosleep)
{
- if (ARG4 !=3D 0 && FAILURE && RES_unchecked =3D=3D VKI_EINTR)
+ if (ARG4 !=3D 0 && FAILURE && ERR =3D=3D VKI_EINTR)
POST_MEM_WRITE( ARG4, sizeof(struct vki_timespec) );
}
=20
|
|
From: <js...@ac...> - 2006-10-13 13:59:17
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-10-13 09:00:01 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 214 tests, 10 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/faultstatus (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) |
|
From: <sv...@va...> - 2006-10-13 11:10:24
|
Author: sewardj
Date: 2006-10-13 12:10:21 +0100 (Fri, 13 Oct 2006)
New Revision: 6219
Log:
Aaargh. I am a moron.
Modified:
branches/AIX5/coregrind/m_syswrap/syswrap-main.c
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-main.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
--- branches/AIX5/coregrind/m_syswrap/syswrap-main.c 2006-10-13 11:01:59 =
UTC (rev 6218)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-main.c 2006-10-13 11:10:21 =
UTC (rev 6219)
@@ -487,7 +487,7 @@
VexGuestPPC64State* gst =3D (VexGuestPPC64State*)gst_vanilla;
UInt cr =3D LibVEX_GuestPPC64_get_CR( gst );
UInt cr0so =3D (cr >> 28) & 1;
- canonical->sres =3D VG_(mk_SysRes_ppc32_linux)( gst->guest_GPR3, cr0s=
o );
+ canonical->sres =3D VG_(mk_SysRes_ppc64_linux)( gst->guest_GPR3, cr0s=
o );
canonical->what =3D SsComplete;
=20
# elif defined(VGP_ppc32_aix5)
|
|
From: <sv...@va...> - 2006-10-13 11:02:04
|
Author: sewardj
Date: 2006-10-13 12:01:59 +0100 (Fri, 13 Oct 2006)
New Revision: 6218
Log:
Fix stupid bug in the new OSet-based auxmap code which was shown up by
sh-mem-random on ppc64-linux.
Modified:
branches/AIX5/memcheck/mc_main.c
Modified: branches/AIX5/memcheck/mc_main.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
--- branches/AIX5/memcheck/mc_main.c 2006-10-13 11:00:05 UTC (rev 6217)
+++ branches/AIX5/memcheck/mc_main.c 2006-10-13 11:01:59 UTC (rev 6218)
@@ -482,6 +482,7 @@
static void insert_into_auxmap_L1_at ( Word rank, AuxMapEnt* ent )
{
Word i;
+ tl_assert(ent);
tl_assert(rank >=3D 0 && rank < N_AUXMAP_L1);
for (i =3D N_AUXMAP_L1-1; i > rank; i--)
auxmap_L1[i] =3D auxmap_L1[i-1];
@@ -567,7 +568,7 @@
nyu->base =3D a;
nyu->sm =3D &sm_distinguished[SM_DIST_NOACCESS];
VG_(OSet_Insert)( auxmap_L2, nyu );
- insert_into_auxmap_L1_at( AUXMAP_L1_INSERT_IX, res );
+ insert_into_auxmap_L1_at( AUXMAP_L1_INSERT_IX, nyu );
n_auxmap_L2_nodes++;
return nyu;
}
|
|
From: <sv...@va...> - 2006-10-13 11:00:13
|
Author: sewardj
Date: 2006-10-13 12:00:05 +0100 (Fri, 13 Oct 2006)
New Revision: 6217
Log:
Use 'ctr' rather than 'lr' for indirect jumps, so as not to trash the
branch predictor(s) for returns from generated code. Makes a big
difference on ppc970 (and POWER4).
Modified:
branches/AIX5/coregrind/m_dispatch/dispatch-ppc32-linux.S
branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-linux.S
Modified: branches/AIX5/coregrind/m_dispatch/dispatch-ppc32-linux.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/AIX5/coregrind/m_dispatch/dispatch-ppc32-linux.S 2006-10-13 =
00:41:09 UTC (rev 6216)
+++ branches/AIX5/coregrind/m_dispatch/dispatch-ppc32-linux.S 2006-10-13 =
11:00:05 UTC (rev 6217)
@@ -275,10 +275,10 @@
/* Found a match. Call tce[1], which is 8 bytes along, since
each tce element is a 64-bit int. */
addi 8,5,8
- mtlr 8
+ mtctr 8
=20
/* run the translation */
- blrl
+ bctrl
=20
/* On return from guest code:
r3 holds destination (original) address.
@@ -338,10 +338,10 @@
/* Found a match. Call tce[1], which is 8 bytes along, since
each tce element is a 64-bit int. */
addi 8,5,8
- mtlr 8
+ mtctr 8
=20
/* run the translation */
- blrl
+ bctrl
=20
/* On return from guest code:
r3 holds destination (original) address.
Modified: branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-linux.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-linux.S 2006-10-13 =
00:41:09 UTC (rev 6216)
+++ branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-linux.S 2006-10-13 =
11:00:05 UTC (rev 6217)
@@ -298,10 +298,10 @@
/* Found a match. Call tce[1], which is 8 bytes along, since
each tce element is a 64-bit int. */
addi 8,5,8
- mtlr 8
+ mtctr 8
=20
/* run the translation */
- blrl
+ bctrl
=20
/* On return from guest code:
r3 holds destination (original) address.
@@ -376,10 +376,10 @@
/* Found a match. Call tce[1], which is 8 bytes along, since
each tce element is a 64-bit int. */
addi 8,5,8
- mtlr 8
+ mtctr 8
=20
/* run the translation */
- blrl
+ bctrl
=20
/* On return from guest code:
r3 holds destination (original) address.
|
|
From: Tom H. <to...@co...> - 2006-10-13 02:45:29
|
Nightly build on dunsmere ( athlon, Fedora Core 5 ) started at 2006-10-13 03:30:08 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 246 tests, 4 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/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-10-13 02:29:34
|
Nightly build on dellow ( x86_64, Fedora Core 5 ) started at 2006-10-13 03:10:13 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 274 tests, 20 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/x86/scalar (stderr) memcheck/tests/xml1 (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) |
|
From: Tom H. <th...@cy...> - 2006-10-13 02:26:39
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-10-13 03:00:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 276 tests, 12 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/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-10-13 02:25:43
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-10-13 03:15:02 BST Results differ 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/ccJh6KKu.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccJh6KKu.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.26768/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.26768/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.26768/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.26768/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.26768/valgrind' make: *** [check] Error 2 ================================================= == 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/ccGpKaCI.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccGpKaCI.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.26768/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.26768/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.26768/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.26768/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.26768/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Oct 13 03:19:51 2006 --- new.short Fri Oct 13 03:25:31 2006 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccGpKaCI.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccGpKaCI.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 --- 7,16 ---- Last 20 lines of verbose log follow echo ! /tmp/ccJh6KKu.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccJh6KKu.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2006-10-13 02:20:56
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2006-10-13 03:05:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 274 tests, 12 stderr failures, 2 stdout failures, 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/leakotron (stdout) 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/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2006-10-13 00:41:14
|
Author: sewardj
Date: 2006-10-13 01:41:09 +0100 (Fri, 13 Oct 2006)
New Revision: 6216
Log:
Fix all the places where gcc complains about casts from pointers
(presumably 64 bit) to integers of different size (in this case,
32-bit int). This makes it compile cleanly on 64-bit AIX and also
means it doesn't crash :-)
Modified:
branches/AIX5/perf/tinycc.c
Modified: branches/AIX5/perf/tinycc.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
--- branches/AIX5/perf/tinycc.c 2006-10-13 00:39:18 UTC (rev 6215)
+++ branches/AIX5/perf/tinycc.c 2006-10-13 00:41:09 UTC (rev 6216)
@@ -2171,9 +2171,9 @@
=20
/* symbol management */
typedef struct Sym {
- int v; /* symbol token */
- int r; /* associated register */
- int c; /* associated number */
+ long v; /* symbol token */
+ long r; /* associated register */
+ long c; /* associated number */
CType type; /* associated type */
struct Sym *next; /* next related symbol */
struct Sym *prev; /* prev symbol in stack */
@@ -2341,7 +2341,7 @@
rsym: return symbol
anon_sym: anonymous symbol index
*/
-static int rsym, anon_sym, ind, loc;
+static long rsym, anon_sym, ind, loc;
/* expression generation modifiers */
static int const_wanted; /* true if constant wanted */
static int nocode_wanted; /* true if no code generation wanted for an ex=
pression */
@@ -2350,7 +2350,7 @@
static CType func_vt; /* current function return type (used by return
instruction) */
static int func_vc;
-static int last_line_num, last_ind, func_ind; /* debug last line number =
and pc */
+static long last_line_num, last_ind, func_ind; /* debug last line number=
and pc */
static int tok_ident;
static TokenSym **table_ident;
static TokenSym *hash_ident[TOK_HASH_SIZE];
@@ -6084,7 +6084,7 @@
}
=20
/* generate a jump to a label */
-int gjmp(int t)
+long gjmp(int t)
{
return psym(0xe9, t);
}
@@ -7372,7 +7372,7 @@
}
=20
/* push, without hashing */
-static Sym *sym_push2(Sym **ps, int v, int t, int c)
+static Sym *sym_push2(Sym **ps, long v, long t, long c)
{
Sym *s;
s =3D sym_malloc();
@@ -8148,7 +8148,7 @@
{
Sym *s;
=20
- s =3D sym_push2(&define_stack, v, macro_type, (int)str);
+ s =3D sym_push2(&define_stack, v, macro_type, (long)str);
s->next =3D first_arg;
table_ident[v - TOK_IDENT]->sym_define =3D s;
}
@@ -9788,7 +9788,7 @@
next_nomacro();
}
tok_str_add(&str, 0);
- sym_push2(&args, sa->v & ~SYM_FIELD, sa->type.t, (int)st=
r.str);
+ sym_push2(&args, sa->v & ~SYM_FIELD, sa->type.t, (long)s=
tr.str);
sa =3D sa->next;
if (tok =3D=3D ')') {
/* special case for gcc var args: add an empty
@@ -14740,7 +14740,7 @@
}
tok_str_add(&func_str, -1);
tok_str_add(&func_str, 0);
- sym->r =3D (int)func_str.str;
+ sym->r =3D (long)func_str.str;
} else {
/* compute text section */
cur_text_section =3D ad.section;
@@ -17330,7 +17330,7 @@
/* NOTE: the same name space as C labels is used to avoid using too
much memory when storing labels in TokenStrings */
static void asm_new_label1(TCCState *s1, int label, int is_local,
- int sh_num, int value)
+ int sh_num, long value)
{
Sym *sym;
=20
|
|
From: <sv...@va...> - 2006-10-13 00:39:22
|
Author: sewardj
Date: 2006-10-13 01:39:18 +0100 (Fri, 13 Oct 2006)
New Revision: 6215
Log:
Make the profiling dispatcher work.
Modified:
branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-aix5.S
Modified: branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-aix5.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-aix5.S 2006-10-12 1=
8:09:58 UTC (rev 6214)
+++ branches/AIX5/coregrind/m_dispatch/dispatch-ppc64-aix5.S 2006-10-13 0=
0:39:18 UTC (rev 6215)
@@ -62,6 +62,8 @@
.tc vgPlain_machine_ppc64_has_VMX[TC],vgPlain_machine_ppc64_has_VMX[=
RW]
tocent__vgPlain_tt_fast:
.tc vgPlain_tt_fast[TC],vgPlain_tt_fast[RW]
+tocent__vgPlain_tt_fastN:
+ .tc vgPlain_tt_fast[TC],vgPlain_tt_fastN[RW]
.csect .text[PR]
.align 2
.globl vgPlain_run_innerloop
@@ -303,47 +305,48 @@
=20
.globl VG_(run_innerloop__dispatch_profiled)
VG_(run_innerloop__dispatch_profiled):
- trap
-#if 0
/* At entry: Live regs:
- r1 (=3Dsp)
+ r1 (=3Dsp)
r3 (=3DCIA =3D next guest address)
r29 (=3Ddispatch_ctr)
r31 (=3Dguest_state)
Stack state:
- 44(r1) (=3Dorig guest_state)
+ 256(r1) (=3Dorig guest_state)
*/
=20
/* Has the guest state pointer been messed with? If yes, exit. */
- lwz 5,44(1) /* original guest_state ptr */
- cmpw 5,31
+ ld 5,256(1) /* original guest_state ptr */
+ cmpd 5,31
bne gsp_changed
=20
/* save the jump address in the guest state */
- stw 3,OFFSET_ppc32_CIA(31)
+ std 3,OFFSET_ppc64_CIA(31)
=20
/* Are we out of timeslice? If yes, defer to scheduler. */
- subi 29,29,1
- cmplwi 29,0
+ addi 29,29,-1
+ cmplwi 29,0 /* yes, lwi - is 32-bit */
beq counter_is_zero
=20
/* try a fast lookup in the translation cache */
/* r4 =3D VG_TT_FAST_HASH(addr) * sizeof(ULong*)
- =3D ((r3 >>u 2) & VG_TT_FAST_MASK) << 2 */
- rlwinm 4,3, 0, 32-2-VG_TT_FAST_BITS, 31-2=20
- addis 5,4,VG_(tt_fast)@ha
- lwz 5,VG_(tt_fast)@l(5)
- lwz 6,4(5) /* big-endian, so comparing 2nd 32bit word */
- cmpw 3,6
+ =3D ((r3 >>u 2) & VG_TT_FAST_MASK) << 3 */
+ rldicl 4,3, 62, 64-VG_TT_FAST_BITS
+ sldi 4,4,3
+
+ ld 5,tocent__vgPlain_tt_fast(2) /* r5 =3D &tt_fast */
+
+ ldx 5,5,4 /* r5 =3D VG_(tt_fast)[VG_TT_FAST_HASH(addr)] */
+ ld 6,0(5) /* r6 =3D (r5)->orig_addr */
+ cmpd 3,6
bne fast_lookup_failed
=20
/* increment bb profile counter */
- addis 6,4,VG_(tt_fastN)@ha
- lwz 7,VG_(tt_fastN)@l(6)
- lwz 8,0(7)
- addi 8,8,1
- stw 8,0(7)
-
+ ld 9,tocent__vgPlain_tt_fastN(2) /* r9 =3D &tt_fastN */
+ ldx 7,9,4 /* r7 =3D tt_fastN[r4] */
+ lwz 10,0(7)
+ addi 10,10,1
+ stw 10,0(7)
+=09
/* Found a match. Call tce[1], which is 8 bytes along, since
each tce element is a 64-bit int. */
addi 8,5,8
@@ -361,7 +364,6 @@
/* start over */
b VG_(run_innerloop__dispatch_profiled)
/*NOTREACHED*/
-#endif
=20
/*----------------------------------------------------*/
/*--- exit points ---*/
|