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
(31) |
2
(27) |
|
3
(25) |
4
(21) |
5
(21) |
6
(21) |
7
(32) |
8
(23) |
9
(15) |
|
10
(12) |
11
(9) |
12
(10) |
13
(10) |
14
(9) |
15
(7) |
16
(20) |
|
17
(14) |
18
(71) |
19
(67) |
20
(50) |
21
(25) |
22
(15) |
23
(37) |
|
24
(25) |
25
(41) |
26
(34) |
27
(57) |
28
(20) |
29
(30) |
30
(13) |
|
31
(18) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2005-07-19 23:59:57
|
Author: sewardj
Date: 2005-07-20 00:59:54 +0100 (Wed, 20 Jul 2005)
New Revision: 1278
Log:
Make ADC Ev,Gv work.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/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-amd64/toIR.c 2005-07-19 08:42:56 UTC (rev 1277)
+++ trunk/priv/guest-amd64/toIR.c 2005-07-19 23:59:54 UTC (rev 1278)
@@ -2425,7 +2425,6 @@
assign( src, loadLE(szToITy(size), mkexpr(addr)) );
=20
if (addSubCarry && op8 =3D=3D Iop_Add8) {
- vassert(0); /* awaiting test case */
helper_ADC( size, dst1, dst0, src );
putIRegG(size, pfx, rm, mkexpr(dst1));
} else
@@ -11838,10 +11837,10 @@
//.. //-- case 0x12: /* ADC Eb,Gb */
//.. //-- delta =3D dis_op2_E_G ( sorb, True, ADC, True, 1, delta,=
"adc" );
//.. //-- break;
-//.. case 0x13: /* ADC Ev,Gv */
-//.. delta =3D dis_op2_E_G ( sorb, True, Iop_Add8, True, sz, delta=
, "adc" );
-//.. break;
-//..=20
+ case 0x13: /* ADC Ev,Gv */
+ delta =3D dis_op2_E_G ( pfx, True, Iop_Add8, True, sz, delta, "adc=
" );
+ break;
+
//.. //-- case 0x1A: /* SBB Eb,Gb */
//.. //-- delta =3D dis_op2_E_G ( sorb, True, SBB, True, 1, delta,=
"sbb" );
//.. //-- break;
|
|
From: Nicholas N. <nj...@cs...> - 2005-07-19 23:46:56
|
Hi, I've put a first draft of the 3.0.0 release notes in NEWS. I'm sure I've missed some things, please add to this if you think of anything. Thanks. N |
|
From: <sv...@va...> - 2005-07-19 23:46:11
|
Author: njn Date: 2005-07-20 00:46:08 +0100 (Wed, 20 Jul 2005) New Revision: 4204 Log: Make a first cut at the 3.0.0 release notes. Modified: trunk/NEWS Modified: trunk/NEWS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/NEWS 2005-07-19 23:12:11 UTC (rev 4203) +++ trunk/NEWS 2005-07-19 23:46:08 UTC (rev 4204) @@ -1,4 +1,79 @@ =20 +[[TODO: fix all the TODO items!]] + +Release 3.0.0 ([[TODO: add release date]]) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +3.0.0 is a major overhaul of Valgrind. The most significant user-visibl= e +change is that Valgrind now supports architectures other than x86. +The new architectures it supports are AMD64 and PPC32, and the +infrastructure is present for other architectures to be added later. + +The AMD64 support works well, but has some shortcomings: + + - It generally won't be as solid as the x86 version. For example, sup= port + for more obscure instructions and system calls may be missing. We w= ill + fix these as they arise. + + - Address space may be limited; see the point about position-independ= ent + executables below. + +The PPC32 support is very basic. It may not work reliably even for smal= l +programs, but it's a start. Many thanks to Paul Mackerras for his great +work that enabled this support. + +Other user-visible changes: + +- No longer building Valgrind as a position-indendependent executable (P= IE) + by default, as it caused too many problems. + + Without PIE enabled, AMD64 programs will only be able to access 2GB of + address space. We will fix this eventually, but not for the moment. + =20 + Use --enable-pie at configure-time to turn this on. + +- Support for programs that use stack-switching has been improved. Use + the --max-stackframe flag for simple cases, and the + VALGRIND_STACK_REGISTER, VALGRIND_STACK_DEREGISTER and + VALGRIND_STACK_CHANGE client requests for trickier cases. + +- Support for programs that use self-modifying code has been improved, i= n + particular programs that put temporary code fragments on the stack. + This helps for C programs compiled with GCC that use nested functions,= and + also Ada programs. This is controlled with the --smc-support flag, + although the default setting should work in most cases. + +- Output can now be printed in XML format. This should make it easier f= or + other tools (such as GUI front-ends) to use Valgrind output as input. + The --xml flag controls this. =20 + [[TODO: describe the related CLOs added (eg. --log-file-qualifier)]] + +- Programs that allocate many heap blocks may run faster, due to + improvements in certain data structures. + +- Addrcheck is currently not working. We hope to get it working again s= oon. + Helgrind is still not working, as was the case for the 2.4.0 release. + +- [[TODO: add more here]] + +Changes that are not user-visible: + +- The JITter has been completely rewritten, and is now in a separate + library, called Vex. This enabled a lot of the user-visible changes, = such + as new architecture support. It may run slower than the old JITter; + feedback about this would be useful. + +- The code has been modularized significantly, and should be easier to + navigate and understand. + +- Lots of code has been rewritten. + +- [[TODO: add more here]] + +BUGS FIXED + +[[TODO: add the full list here (once the RCs are out of the way?)]] + + Stable release 2.4.0 (March 2005) -- CHANGES RELATIVE TO 2.2.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.4.0 brings many significant changes and bug fixes. The most |
|
From: Julian S. <js...@ac...> - 2005-07-19 23:18:38
|
> Pass clone arguments in the correct order when doing a fork style
> clone. This should fix bug #109358.
Well spotted; but (mystified) the implication is that the amd64
arg order for __NR_clone is different from what it is on x86 ?
Is that right?
Because now the amd64 wrapper says:
res = VG_(do_syscall5)( __NR_clone, flags,
(UWord)NULL, (UWord)parent_tidptr,
(UWord)child_tidptr, (UWord)NULL );
vs x86:
res = VG_(do_syscall5)( __NR_clone, flags,
(UWord)NULL, (UWord)parent_tidptr,
(UWord)NULL, (UWord)child_tidptr );
and that then raises the question of what order it is on ppc32.
J
|
|
From: <sv...@va...> - 2005-07-19 23:12:14
|
Author: sewardj Date: 2005-07-20 00:12:11 +0100 (Wed, 20 Jul 2005) New Revision: 4203 Log: The devil's in the details .. Modified: trunk/docs/internals/Makefile.am Modified: trunk/docs/internals/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/docs/internals/Makefile.am 2005-07-19 23:01:56 UTC (rev 4202) +++ trunk/docs/internals/Makefile.am 2005-07-19 23:12:11 UTC (rev 4203) @@ -1,4 +1,4 @@ -EXTA_DIST =3D \ +EXTRA_DIST =3D \ 64-bit-cleanness.txt directory-structure.txt m_replacemalloc.txt \ m_syswrap.txt module-structure.txt notes.txt porting-HOWTO.txt \ porting-to-ARM.txt segments-seginfos.txt threads-syscalls-signals.txt \ |
|
From: <sv...@va...> - 2005-07-19 23:01:57
|
Author: tom
Date: 2005-07-20 00:01:56 +0100 (Wed, 20 Jul 2005)
New Revision: 4202
Log:
Fix mistaken comments.
Modified:
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-x86-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
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-07-19 22:59:47 UTC=
(rev 4201)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-07-19 23:01:56 UTC=
(rev 4202)
@@ -336,8 +336,8 @@
/* get other args to clone */
" movl 8+"FSZ"(%esp), %ebx\n" /* syscall arg1: flags */
" movl 20+"FSZ"(%esp), %edx\n" /* syscall arg3: parent tid =
* */
-" movl 16+"FSZ"(%esp), %edi\n" /* syscall arg4: child tid *=
*/
-" movl 24+"FSZ"(%esp), %esi\n" /* syscall arg5: tls_ptr * *=
/
+" movl 16+"FSZ"(%esp), %edi\n" /* syscall arg5: child tid *=
*/
+" movl 24+"FSZ"(%esp), %esi\n" /* syscall arg4: tls_ptr * *=
/
" movl $"__NR_CLONE", %eax\n"
" int $0x80\n" /* clone() */
" testl %eax, %eax\n" /* child if retval =3D=3D 0 =
*/
|
|
From: <sv...@va...> - 2005-07-19 22:59:49
|
Author: tom
Date: 2005-07-19 23:59:47 +0100 (Tue, 19 Jul 2005)
New Revision: 4201
Log:
Pass clone arguments in the correct order when doing a fork style
clone. This should fix bug #109358.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-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
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 22:48:04 U=
TC (rev 4200)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 22:59:47 U=
TC (rev 4201)
@@ -499,7 +499,7 @@
VG_(clone) stuff */
res =3D VG_(do_syscall5)( __NR_clone, flags,=20
(UWord)NULL, (UWord)parent_tidptr,=20
- (UWord)NULL, (UWord)child_tidptr );
+ (UWord)child_tidptr, (UWord)NULL );
=20
if (!res.isError && res.val =3D=3D 0) {
/* child */
|
|
From: <sv...@va...> - 2005-07-19 22:48:07
|
Author: tom
Date: 2005-07-19 23:48:04 +0100 (Tue, 19 Jul 2005)
New Revision: 4200
Log:
Enable sched_yield on amd64. Fixes bug #109362.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-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
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 22:44:33 U=
TC (rev 4199)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 22:48:04 U=
TC (rev 4200)
@@ -1139,7 +1139,7 @@
GENX_(__NR_access, sys_access), // 21=20
GENXY(__NR_pipe, sys_pipe), // 22=20
GENX_(__NR_select, sys_select), // 23=20
- // (__NR_sched_yield, sys_sched_yield), // 24=20
+ GENX_(__NR_sched_yield, sys_sched_yield), // 24=20
=20
GENX_(__NR_mremap, sys_mremap), // 25=20
// (__NR_msync, sys_msync), // 26=20
|
|
From: <sv...@va...> - 2005-07-19 22:44:35
|
Author: tom
Date: 2005-07-19 23:44:33 +0100 (Tue, 19 Jul 2005)
New Revision: 4199
Log:
Return success when get_thread_area succeeds.
Modified:
trunk/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-x86-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
--- trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-07-19 22:39:41 UTC=
(rev 4198)
+++ trunk/coregrind/m_syswrap/syswrap-x86-linux.c 2005-07-19 22:44:33 UTC=
(rev 4199)
@@ -921,7 +921,7 @@
info->useable =3D gdt[idx].LdtEnt.Bits.Sys;
info->reserved =3D 0;
=20
- return VG_(mk_SysRes_Error)( 0 );
+ return VG_(mk_SysRes_Success)( 0 );
}
=20
/* ---------------------------------------------------------------------
|
|
From: <sv...@va...> - 2005-07-19 22:39:43
|
Author: tom Date: 2005-07-19 23:39:41 +0100 (Tue, 19 Jul 2005) New Revision: 4198 Log: Add a makefile for the new documentation directory to avoid errors when make tries to recurse into it. Added: trunk/docs/internals/Makefile.am Added: trunk/docs/internals/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/docs/internals/Makefile.am 2005-07-19 22:35:58 UTC (rev 4197) +++ trunk/docs/internals/Makefile.am 2005-07-19 22:39:41 UTC (rev 4198) @@ -0,0 +1,6 @@ +EXTA_DIST =3D \ + 64-bit-cleanness.txt directory-structure.txt m_replacemalloc.txt \ + m_syswrap.txt module-structure.txt notes.txt porting-HOWTO.txt \ + porting-to-ARM.txt segments-seginfos.txt threads-syscalls-signals.txt \ + tm-mutexstates.dot tm-threadstates.dot tracking-fn-entry-exit.txt \ + xml-output.txt |
|
From: <sv...@va...> - 2005-07-19 22:36:18
|
Author: tom
Date: 2005-07-19 23:35:58 +0100 (Tue, 19 Jul 2005)
New Revision: 4197
Log:
Support ARCH_GET_FS with arch_prctl on amd64.
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-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
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 21:46:19 U=
TC (rev 4196)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2005-07-19 22:35:58 U=
TC (rev 4197)
@@ -717,9 +717,19 @@
// PRE_MEM_READs/PRE_MEM_WRITEs as necessary...
=20
/* "do" the syscall ourselves; the kernel never sees it */
- vg_assert(ARG1 =3D=3D VKI_ARCH_SET_FS);
- tst =3D VG_(get_ThreadState)(tid);
- tst->arch.vex.guest_FS_ZERO =3D ARG2;
+ if (ARG1 =3D=3D VKI_ARCH_SET_FS) {
+ tst =3D VG_(get_ThreadState)(tid);
+ tst->arch.vex.guest_FS_ZERO =3D ARG2;
+ }
+ else if (ARG1 =3D=3D VKI_ARCH_GET_FS) {
+ PRE_MEM_WRITE("arch_prctl(addr)", ARG2, sizeof(unsigned long));
+ tst =3D VG_(get_ThreadState)(tid);
+ *(unsigned long *)ARG2 =3D tst->arch.vex.guest_FS_ZERO;
+ POST_MEM_WRITE(ARG2, sizeof(unsigned long));
+ }
+ else {
+ VG_(core_panic)("Unsupported arch_prtctl option");
+ }
=20
/* Note; the Status writeback to guest state that happens after
this wrapper returns does not change guest_FS_ZERO; hence that
|
|
From: Tom H. <to...@co...> - 2005-07-19 22:24:54
|
In message <20050719170607.6e5e4194@godzilla>
Rich Coe <Ric...@me...> wrote:
> I'm testing on the x86_64 (amd64) platform and was wondering what the
> expected behaviour of V should be in a mixed executabled environment.
>
> I can have both 32-bit and 64-bit applications that I would want to run
> V against. When I run V and it doesn't match the executable type it was
> built for, like running the ELF-64 binary against an ELF-32 program,
> V complains
> valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
> valgrind: do_exec(....) failed: Exec format error
>
> Should V detect the ELF class at startup and use V code from
> /usr/local/lib/valgrind or /usr/local/lib64/valgrind based on the ELF class ?
We don't yet have a solution for this - see the message Robert Walsh
posted a week or two back for some ideas on how we might approach it.
I suspect that in the initial release this won't be a solved problem.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Rich C. <Ric...@me...> - 2005-07-19 22:08:08
|
I'm testing on the x86_64 (amd64) platform and was wondering what the
expected behaviour of V should be in a mixed executabled environment.
I can have both 32-bit and 64-bit applications that I would want to run
V against. When I run V and it doesn't match the executable type it was
built for, like running the ELF-64 binary against an ELF-32 program,
V complains
valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
valgrind: do_exec(....) failed: Exec format error
Should V detect the ELF class at startup and use V code from
/usr/local/lib/valgrind or /usr/local/lib64/valgrind based on the ELF class ?
Rich
--
Rich Coe ric...@me...
General Electric Healthcare Technologies
Global Software Platforms, Computer Technology Team
|
|
From: <sv...@va...> - 2005-07-19 22:05:11
|
Author: njn
Date: 2005-07-19 23:05:03 +0100 (Tue, 19 Jul 2005)
New Revision: 141
Log:
tweaks
Modified:
trunk/gallery/survey_current/survey.html
Modified: trunk/gallery/survey_current/survey.html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/gallery/survey_current/survey.html 2005-07-19 03:11:35 UTC (rev=
140)
+++ trunk/gallery/survey_current/survey.html 2005-07-19 22:05:03 UTC (rev=
141)
@@ -67,7 +67,7 @@
<input type=3D"hidden" name=3D"Q5[q]"=20
value=3D"q5. In what form did you/do you obtain Valgrind"/>
<b>5. </b>In what form did you/do you obtain Valgrind?<br />
- <input name=3D"Q5[cb1]" type=3D"checkbox" value=3D"cvs"/> source, fro=
m CVS<br/>
+ <input name=3D"Q5[cb1]" type=3D"checkbox" value=3D"cvs/svn"/> source,=
from CVS/Subversion repository<br/>
<input name=3D"Q5[cb2]" type=3D"checkbox" value=3D"www"/> source, from=
website<br/>
<input name=3D"Q5[cb3]" type=3D"checkbox" value=3D"rpm"/> pre-built ve=
rsion (eg. RPM)<br/>
<input name=3D"Q5[cb4]" type=3D"checkbox" value=3D"inst"/> already ins=
talled on system<br/>
@@ -85,28 +85,28 @@
Cachegrind 10%)<br />
<table cellspacing=3D"2" cellpadding=3D"0" border=3D"0">
<tr>
- <td>Memcheck :</td>
+ <td>Memcheck (the heavyweight memory checker) :</td>
<td><input name=3D"Q6[txt0]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
- <td>Addrcheck :</td>
+ <td>Addrcheck (the lightweight memory checker) :</td>
<td><input name=3D"Q6[txt1]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
- <td>Cachegrind :</td>
+ <td>Cachegrind (the cache profiler) :</td>
<td><input name=3D"Q6[txt2]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
- <td>Helgrind :</td>
+ <td>Helgrind (the data race detector) :</td>
<td><input name=3D"Q6[txt3]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
- <td>Callgrind/KCachegrind : </td>
- <td><input name=3D"Q6[txt4]" size=3D"30" type=3D"text" value=3D""/><=
/td>
+ <td>Massif (the heap profiler) :</td>
+ <td><input name=3D"Q6[txt5]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
- <td>Massif :</td>
- <td><input name=3D"Q6[txt5]" size=3D"30" type=3D"text" value=3D""/><=
/td>
+ <td>Callgrind/KCachegrind (Cachegrind on steroids) : </td>
+ <td><input name=3D"Q6[txt4]" size=3D"30" type=3D"text" value=3D""/><=
/td>
</tr>
<tr>
<td>Other :</td>
|
|
From: <sv...@va...> - 2005-07-19 21:46:24
|
Author: njn Date: 2005-07-19 22:46:19 +0100 (Tue, 19 Jul 2005) New Revision: 4196 Log: We have a nice little collection of text files describing various high level things. But they're all over the place. This commits moves them all to the new docs/internals/ directory, and gives them=20 a consistent naming scheme. Added: trunk/docs/internals/ trunk/docs/internals/64-bit-cleanness.txt trunk/docs/internals/directory-structure.txt trunk/docs/internals/m_replacemalloc.txt trunk/docs/internals/m_syswrap.txt trunk/docs/internals/module-structure.txt trunk/docs/internals/notes.txt trunk/docs/internals/porting-HOWTO.txt trunk/docs/internals/porting-to-ARM.txt trunk/docs/internals/segments-seginfos.txt trunk/docs/internals/threads-syscalls-signals.txt trunk/docs/internals/tm-mutexstates.dot trunk/docs/internals/tm-threadstates.dot trunk/docs/internals/tracking-fn-entry-exit.txt trunk/docs/internals/xml-output.txt Removed: trunk/NOTES.syscalls trunk/NOTES.txt trunk/README_XML_OUTPUT.txt trunk/THREADS_SYSCALLS_SIGNALS.txt trunk/TODO trunk/coregrind/README_MODULES.txt trunk/coregrind/README_TRACKING_FN_ENTRY_EXIT trunk/coregrind/m_aspacemgr/README_SEGMENTS trunk/coregrind/m_replacemalloc/README_REPLACEMALLOC.txt trunk/coregrind/m_syswrap/README_SYSWRAP.txt trunk/docs/64-bit-cleanness trunk/docs/directory-structure trunk/docs/porting-HOWTO trunk/docs/porting-to-ARM trunk/docs/tm-mutexstates.dot trunk/docs/tm-threadstates.dot Modified: trunk/Makefile.am trunk/configure.in trunk/coregrind/Makefile.am trunk/coregrind/m_aspacemgr/Makefile.am trunk/coregrind/m_replacemalloc/Makefile.am trunk/coregrind/m_syswrap/Makefile.am trunk/docs/Makefile.am trunk/docs/README [... diff too large to include ...] |
|
From: <sv...@va...> - 2005-07-19 21:12:16
|
Author: njn
Date: 2005-07-19 22:11:54 +0100 (Tue, 19 Jul 2005)
New Revision: 4195
Log:
Get Addrcheck closer to compiling. It's still a long way from working,
though.
Modified:
trunk/addrcheck/ac_main.c
Modified: trunk/addrcheck/ac_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
--- trunk/addrcheck/ac_main.c 2005-07-19 20:54:08 UTC (rev 4194)
+++ trunk/addrcheck/ac_main.c 2005-07-19 21:11:54 UTC (rev 4195)
@@ -30,6 +30,15 @@
The GNU General Public License is contained in the file COPYING.
*/
=20
+#include "pub_tool_basics.h"
+#include "pub_tool_hashtable.h" // For mac_shared.h
+#include "pub_tool_libcbase.h"
+#include "pub_tool_libcassert.h"
+#include "pub_tool_libcprint.h"
+#include "pub_tool_profile.h" // For mac_shared.h
+#include "pub_tool_tooliface.h"
+#include "pub_tool_threadstate.h"
+
#include "mac_shared.h"
#include "memcheck.h"
=20
@@ -195,7 +204,7 @@
const AcSecMap *prototype)
{
AcSecMap* map;
- PROF_EVENT(10);
+ PROF_EVENT(10, "");
=20
map =3D (AcSecMap *)VG_(shadow_alloc)(sizeof(AcSecMap));
VG_(memcpy)(map, prototype, sizeof(*map));
@@ -211,7 +220,7 @@
{
AcSecMap* sm =3D primary_map[PM_IDX(a)];
UInt sm_off =3D SM_OFF(a);
- PROF_EVENT(20);
+ PROF_EVENT(20, "");
# if 0
if (IS_DISTINGUISHED_SM(sm))
VG_(message)(Vg_DebugMsg,=20
@@ -225,7 +234,7 @@
{
AcSecMap* sm;
UInt sm_off;
- PROF_EVENT(22);
+ PROF_EVENT(22, "");
ENSURE_MAPPABLE(a, "set_abit");
sm =3D primary_map[PM_IDX(a)];
sm_off =3D SM_OFF(a);
@@ -243,7 +252,7 @@
AcSecMap* sm;
UInt sm_off;
UChar abits8;
- PROF_EVENT(24);
+ PROF_EVENT(24, "");
# ifdef VG_DEBUG_MEMORY
tl_assert(VG_IS_4_ALIGNED(a));
# endif
@@ -268,7 +277,7 @@
UInt sm_off;
AcSecMap* sm;
=20
- PROF_EVENT(30);
+ PROF_EVENT(30, "");
=20
if (len =3D=3D 0)
return;
@@ -299,7 +308,7 @@
# ifdef VG_DEBUG_MEMORY
/* Do it ... */
while (True) {
- PROF_EVENT(31);
+ PROF_EVENT(31, "");
if (len =3D=3D 0) break;
set_abit ( a, example_a_bit );
set_vbyte ( a, vbyte );
@@ -310,7 +319,7 @@
# else
/* Slowly do parts preceding 8-byte alignment. */
while (True) {
- PROF_EVENT(31);
+ PROF_EVENT(31, "");
if (len =3D=3D 0) break;
if ((a % 8) =3D=3D 0) break;
set_abit ( a, example_a_bit );
@@ -326,7 +335,7 @@
=20
/* Once aligned, go fast up to primary boundary. */
for (; (a & SECONDARY_MASK) && len >=3D 8; a +=3D 8, len -=3D 8) {
- PROF_EVENT(32);
+ PROF_EVENT(32, "");
=20
/* If the primary is already pointing to a distinguished map
with the same properties as we're trying to set, then leave
@@ -356,7 +365,7 @@
=20
/* Now finished the remains. */
for (; len >=3D 8; a +=3D 8, len -=3D 8) {
- PROF_EVENT(32);
+ PROF_EVENT(32, "");
=20
/* If the primary is already pointing to a distinguished map
with the same properties as we're trying to set, then leave
@@ -372,7 +381,7 @@
=20
/* Finish the upper fragment. */
while (True) {
- PROF_EVENT(33);
+ PROF_EVENT(33, "");
if (len =3D=3D 0) break;
set_abit ( a, example_a_bit );
a++;
@@ -387,14 +396,14 @@
=20
static void ac_make_noaccess ( Addr a, SizeT len )
{
- PROF_EVENT(35);
+ PROF_EVENT(35, "");
DEBUG("ac_make_noaccess(%p, %x)\n", a, len);
set_address_range_perms ( a, len, VGM_BIT_INVALID );
}
=20
static void ac_make_accessible ( Addr a, SizeT len )
{
- PROF_EVENT(38);
+ PROF_EVENT(38, "");
DEBUG("ac_make_accessible(%p, %x)\n", a, len);
set_address_range_perms ( a, len, VGM_BIT_VALID );
}
@@ -483,10 +492,10 @@
=20
DEBUG("ac_copy_address_range_state\n");
=20
- PROF_EVENT(40);
+ PROF_EVENT(40, "");
for (i =3D 0; i < len; i++) {
UChar abit =3D get_abit ( src+i );
- PROF_EVENT(41);
+ PROF_EVENT(41, "");
set_abit ( dst+i, abit );
}
}
@@ -501,9 +510,9 @@
{
UInt i;
UChar abit;
- PROF_EVENT(48);
+ PROF_EVENT(48, "");
for (i =3D 0; i < len; i++) {
- PROF_EVENT(49);
+ PROF_EVENT(49, "");
abit =3D get_abit(a);
if (abit =3D=3D VGM_BIT_INVALID) {
if (bad_addr !=3D NULL) *bad_addr =3D a;
@@ -520,9 +529,9 @@
{
UInt i;
UChar abit;
- PROF_EVENT(48);
+ PROF_EVENT(48, "");
for (i =3D 0; i < len; i++) {
- PROF_EVENT(49);
+ PROF_EVENT(49, "");
abit =3D get_abit(a);
if (abit =3D=3D VGM_BIT_VALID) {
if (bad_addr !=3D NULL) *bad_addr =3D a;
@@ -541,10 +550,10 @@
Bool ac_check_readable_asciiz ( Addr a, Addr* bad_addr )
{
UChar abit;
- PROF_EVENT(46);
+ PROF_EVENT(46, "");
DEBUG("ac_check_readable_asciiz\n");
while (True) {
- PROF_EVENT(47);
+ PROF_EVENT(47, "");
abit =3D get_abit(a);
if (abit !=3D VGM_BIT_VALID) {
if (bad_addr !=3D NULL) *bad_addr =3D a;
@@ -696,7 +705,7 @@
UChar abits =3D sm->abits[a_off];
abits >>=3D (a & 4);
abits &=3D 15;
- PROF_EVENT(66);
+ PROF_EVENT(66, "");
if (abits =3D=3D VGM_NIBBLE_VALID) {
/* Handle common case quickly: a is suitably aligned, is mapped,
and is addressible. So just return. */
@@ -716,7 +725,7 @@
UInt sec_no =3D rotateRight16(a) & 0x1FFFF;
AcSecMap* sm =3D primary_map[sec_no];
UInt a_off =3D (SM_OFF(a)) >> 3;
- PROF_EVENT(67);
+ PROF_EVENT(67, "");
if (sm->abits[a_off] =3D=3D VGM_BYTE_VALID) {
/* Handle common case quickly. */
return;
@@ -735,7 +744,7 @@
UInt sec_no =3D shiftRight16(a);
AcSecMap* sm =3D primary_map[sec_no];
UInt a_off =3D (SM_OFF(a)) >> 3;
- PROF_EVENT(68);
+ PROF_EVENT(68, "");
if (sm->abits[a_off] =3D=3D VGM_BYTE_VALID) {
/* Handle common case quickly. */
return;
@@ -789,7 +798,7 @@
{
Bool a0ok, a1ok, a2ok, a3ok;
=20
- PROF_EVENT(76);
+ PROF_EVENT(76, "");
=20
/* First establish independently the addressibility of the 4 bytes
involved. */
@@ -834,7 +843,7 @@
{
/* Check the address for validity. */
Bool aerr =3D False;
- PROF_EVENT(77);
+ PROF_EVENT(77, "");
=20
if (get_abit(a+0) !=3D VGM_BIT_VALID) aerr =3D True;
if (get_abit(a+1) !=3D VGM_BIT_VALID) aerr =3D True;
@@ -849,7 +858,7 @@
{
/* Check the address for validity. */
Bool aerr =3D False;
- PROF_EVENT(78);
+ PROF_EVENT(78, "");
=20
if (get_abit(a+0) !=3D VGM_BIT_VALID) aerr =3D True;
=20
@@ -879,7 +888,7 @@
UInt sm_off, a_off;
Addr addr4;
=20
- PROF_EVENT(90);
+ PROF_EVENT(90, "");
=20
# ifdef VG_DEBUG_MEMORY
ac_fpu_ACCESS_check_SLOWLY ( addr, size, isWrite );
@@ -887,7 +896,7 @@
=20
if (size =3D=3D 4) {
if (!VG_IS_4_ALIGNED(addr)) goto slow4;
- PROF_EVENT(91);
+ PROF_EVENT(91, "");
/* Properly aligned. */
sm =3D primary_map[PM_IDX(addr)];
sm_off =3D SM_OFF(addr);
@@ -902,7 +911,7 @@
=20
if (size =3D=3D 8) {
if (!VG_IS_4_ALIGNED(addr)) goto slow8;
- PROF_EVENT(92);
+ PROF_EVENT(92, "");
/* Properly aligned. Do it in two halves. */
addr4 =3D addr + 4;
/* First half. */
@@ -927,13 +936,13 @@
/* Can't be bothered to huff'n'puff to make these (allegedly) rare
cases go quickly. */
if (size =3D=3D 2) {
- PROF_EVENT(93);
+ PROF_EVENT(93, "");
ac_fpu_ACCESS_check_SLOWLY ( addr, 2, isWrite );
return;
}
=20
if (size =3D=3D 16 || size =3D=3D 10 || size =3D=3D 28 || size =3D=3D=
108 || size =3D=3D 512) {
- PROF_EVENT(94);
+ PROF_EVENT(94, "");
ac_fpu_ACCESS_check_SLOWLY ( addr, size, isWrite );
return;
}
@@ -964,9 +973,9 @@
{
Int i;
Bool aerr =3D False;
- PROF_EVENT(100);
+ PROF_EVENT(100, "");
for (i =3D 0; i < size; i++) {
- PROF_EVENT(101);
+ PROF_EVENT(101, "");
if (get_abit(addr+i) !=3D VGM_BIT_VALID)
aerr =3D True;
}
|
|
From: <sv...@va...> - 2005-07-19 20:54:17
|
Author: njn Date: 2005-07-19 21:54:08 +0100 (Tue, 19 Jul 2005) New Revision: 4194 Log: wibble Modified: trunk/NOTES.txt Modified: trunk/NOTES.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/NOTES.txt 2005-07-19 18:19:48 UTC (rev 4193) +++ trunk/NOTES.txt 2005-07-19 20:54:08 UTC (rev 4194) @@ -17,10 +17,6 @@ x86-only systems. However, am not sure where to look for the call into memcheck that states the new stack area. =20 -23 March 05 -~~~~~~~~~~~ -Do we still need ARCH_PTHREQ_RET (or *PTHREQ* for that matter) ? - Notes pertaining to the 2.4.0 - 3.0 merge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As of 10 March (svn rev 3266, vex svn rev 1019) the merged code base |
|
From: Dirk M. <mu...@kd...> - 2005-07-19 19:20:02
|
SVN commit 436438 by mueller: backport -r4108 from valgrind-3.0 M +1 -10 configure.in =20 --- trunk/valgrind/configure.in #436437:436438 @@ -290,16 +290,7 @@ AC_CACHE_CHECK([for PIE support], vg_cv_pie, [AC_ARG_ENABLE(pie, [ --enable-pie platform supports= PIE linking], [vg_cv_pie=3D$enableval], - [safe_CFLAGS=3D$CFLAGS - CFLAGS=3D"$CFLAGS -fpie" - safe_LDFLAGS=3D$LDFLAGS - LDFLAGS=3D"$LDFLAGS -pie" - AC_TRY_LINK([int foo;], - [], - [vg_cv_pie=3Dyes], - [vg_cv_pie=3Dno]) - CFLAGS=3D$safe_CFLAGS - LDFLAGS=3D$safe_LDFLAGS])]) + [vg_cv_pie=3Dno] )]) if test "$vg_cv_pie" =3D yes; then AC_DEFINE([HAVE_PIE], 1, [can create position-independent executables]) fi |
|
From: <sv...@va...> - 2005-07-19 18:19:57
|
Author: tom
Date: 2005-07-19 19:19:48 +0100 (Tue, 19 Jul 2005)
New Revision: 4193
Log:
Make attaching a debugger work on amd64.
Modified:
trunk/coregrind/m_debugger.c
Modified: trunk/coregrind/m_debugger.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/coregrind/m_debugger.c 2005-07-19 17:59:24 UTC (rev 4192)
+++ trunk/coregrind/m_debugger.c 2005-07-19 18:19:48 UTC (rev 4193)
@@ -67,7 +67,26 @@
=20
return ptrace(PTRACE_SETREGS, pid, NULL, ®s);
#elif defined(VGA_amd64)
- I_die_here;
+ regs.rax =3D vex->guest_RAX;
+ regs.rbx =3D vex->guest_RBX;
+ regs.rcx =3D vex->guest_RCX;
+ regs.rdx =3D vex->guest_RDX;
+ regs.rsi =3D vex->guest_RSI;
+ regs.rdi =3D vex->guest_RDI;
+ regs.rbp =3D vex->guest_RBP;
+ regs.rsp =3D vex->guest_RSP;
+ regs.r8 =3D vex->guest_R8;
+ regs.r9 =3D vex->guest_R9;
+ regs.r10 =3D vex->guest_R10;
+ regs.r11 =3D vex->guest_R11;
+ regs.r12 =3D vex->guest_R12;
+ regs.r13 =3D vex->guest_R13;
+ regs.r14 =3D vex->guest_R14;
+ regs.r15 =3D vex->guest_R15;
+ regs.eflags =3D LibVEX_GuestAMD64_get_rflags(vex);
+ regs.rip =3D vex->guest_RIP;
+
+ return ptrace(PTRACE_SETREGS, pid, NULL, ®s);
#elif defined(VGA_ppc32)
I_die_here;
regs.gpr[0] =3D 0; // stop compiler complaints
|
|
From: <sv...@va...> - 2005-07-19 18:00:20
|
Author: tom Date: 2005-07-19 18:59:24 +0100 (Tue, 19 Jul 2005) New Revision: 4192 Log: Update ignore lists. Modified: trunk/none/tests/x86/ Property changes on: trunk/none/tests/x86 ___________________________________________________________________ Name: svn:ignore - badseg bt_everything bt_literal cpuid dastest .deps fpu_lazy_eflags getseg insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c int Makefile Makefile.in pushpopseg rcl_assert seg_override sigcontext *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out + badseg bt_everything bt_literal cpuid dastest .deps fpu_lazy_eflags getseg insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c int Makefile Makefile.in pushpopseg rcl_assert seg_override sigcontext smc1 *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out yield |
|
From: Ashley P. <as...@qu...> - 2005-07-19 17:56:07
|
On Tue, 2005-07-19 at 14:58 +0100, Julian Seward wrote: > > > New command line option: --log-file-qualifier=VAR. When specified, > > How is this used in practice? I'm just curious. > > Intended use is to specify (eg) --log-file-qualifier=MPI_RANK. A parallel > job launcher (eg mpirun) typically sets this env var differently for each > task in a parallel run (since the client instances need to know their > identities) and this allows V to extract that info too and name log files > accordingly. Ooh that will be useful, I was wondering about this very problem this morning. Ashley, |
|
From: Julian S. <ju...@va...> - 2005-07-19 17:22:00
|
> - From basic tests, it appears to me that it is quite a bit slower (2.4 > SVN starts up the server in 11 seconds, whereas 3.0 SVN takes 23 > seconds). The new JIT is a lot slower than the 2.4 one, unfortunately. Most of the startup delay is likely to be translation time. > - Interestingly, 2.4 doesn't report _any_ of these uninitialised values, > and when running under 3.0 the server segfaults whereas it doesn't under > 2.4 or without valgrind. Euh, that sucks. Do you get any useful logging output just before the crash? Does it still crash with --tool=none? What about with --tool=none --vex-iropt-level=0 ? > > I am wondering if 3.0 and 2.4 report different cpu capabilities (such as > mmx, sse etc) Quite possibly. Rerun with -v -v and look for a line like this: --5075-- Host CPU: arch = X86, subarch = x86-sse2 J |
|
From: Nicholas N. <nj...@cs...> - 2005-07-19 16:56:22
|
On Tue, 19 Jul 2005, Tom Hughes wrote: > You create an svn:externals property on the parent directory listing > other things which should be checked out when that directory is checked > out. > > So in this case we would create an svn:externals property on the top > level directory of valgrind that contained: > > vex svn://svn.valgrond.org/vex/trunk > > That would cause vex to be checked out into the vex subdirectory whenever > valgrind was checked out, and likewise for updates and so on. Neat! I'd be happy for this external to be created, and Tom's Makefile.am patch to go in. Any objections? N ps: Valgrond, eh? I like it :) |
|
From: Crispin F. <val...@fl...> - 2005-07-19 16:54:15
|
On Tue, 2005-07-19 at 14:27 +0100, Julian Seward wrote: > - pls download, build, test, report critical bugs I downloaded this, and gave it a test with the Zeus Web Server (www.zeus.com): - From basic tests, it appears to me that it is quite a bit slower (2.4 SVN starts up the server in 11 seconds, whereas 3.0 SVN takes 23 seconds). - More seriously, 3.0 seems to have lots of: ==903== Use of uninitialised value of size 4 ==903== at 0x81AC95E: (within zeus.web) and these don't have any backtrace at all, whereas when it complains that the read was inside a malloc, I get a backtrace just fine (this is with debug builds) - Interestingly, 2.4 doesn't report _any_ of these uninitialised values, and when running under 3.0 the server segfaults whereas it doesn't under 2.4 or without valgrind. I am wondering if 3.0 and 2.4 report different cpu capabilities (such as mmx, sse etc) and one of the libraries we use is using different code paths. That might explain the uninitialised values, although I don't see how that could explain the lack of backtraces. I realise that this isn't 100% helpful without a testcase, but extracting the code for a testcase as the library I believe is causing problems is something we don't have the code for :-( (Linux/x86) Crispin |
|
From: Julian S. <js...@ac...> - 2005-07-19 16:48:44
|
> > #define OFFSET_x86_EAX offsetof(VexGuestX86State,guest_EAX)); > > #define OFFSET_x86_EBX offsetof(VexGuestX86State,guest_EBX)); > > > > and then we wouldn't need to autogenerate libvex_guest_offsets.h which > > would make things simpler. Am I missing anything here? > > I don't that will work for the assembler files. Yeh, it's the .S files that cause the problem. J |