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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(32) |
2
(22) |
3
(47) |
4
(29) |
5
(18) |
6
(16) |
|
7
(21) |
8
(29) |
9
(23) |
10
(68) |
11
(20) |
12
(17) |
13
(17) |
|
14
(27) |
15
(26) |
16
(21) |
17
(13) |
18
(19) |
19
(29) |
20
(13) |
|
21
(9) |
22
(8) |
23
(29) |
24
(56) |
25
(21) |
26
(46) |
27
(33) |
|
28
(25) |
29
(41) |
30
(35) |
31
(28) |
|
|
|
|
From: Naveen K. <g_n...@ya...> - 2005-08-10 15:42:29
|
> > I think (unless I misunderstand) that this is a non-problem. > > Vex makes it easy to defer to the scheduler and simultaneously > > set the next-IP value to anything you like (any constant value > > known at translation-time). So for sysenter we"d merely need > > to tell vex what the where-next address is, and there"s already > > a struct to tell Vex that kind of stuff (eg, for ppc32 "dcbz" > > it needs to know the cache line size of the machine being simulated, > > and only Valgrind knows that). > > > > Shall I hack this up? > > Might be any idea. I believe that Solaris needs sysenter support > anyway if I remember correctly. > Done (1320/4337). Note, I realised later the above >scheme is > unnecessarily complicated. A sysenter now causes the >calling thread > to return to the scheduler with code >VEX_TRC_JMP_SYSENTER_X86. > It is the scheduler"s problem to fill in the thread"s >guest_EIP > with a valid restart address before letting it run >again. > >J According to this http://cvs.opensolaris.org/source/xref/usr/src/uts/i86pc/ml/syscall_asm.s#65 sysenter operation is as follows The caller in userland has arranged that: - %eax contains the syscall number - %ecx contains the user %esp - %edx contains the return %eip - the user stack contains the args to the syscall So %edx contains the %eip to return to after sysenter is completed. Is that the same on Linux ? Naveen __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: Julian S. <js...@ac...> - 2005-08-10 15:16:02
|
On Wednesday 10 August 2005 16:08, Oswald Buddenhagen wrote: > On Wed, Aug 10, 2005 at 12:07:51AM +0100, Tom Hughes wrote: > > > >> Solaris 10 doesn't allow static executables. The > > > > > > > > reasons they give are here > > > > > > Euh, that sucks, but it doesn't surprise me. There just > > > doesn't seem to be a portable way of making an executable > > > _and_ all the shared objects it depends on be loaded in > > > an out-of-the way place. > > > > Is there much difference between statically and dynamically linked > > executables which don't reference any libraries though? > > has anybody read the ref'd page actually? ;) > the linker will do whatever you want it to. there is just no libc.a and > other static system libs - biiiig problem. ;) Read the documentation?!? What sort of a concept is that :-? Cool. No libc.a is fine -- we are moving towards valgrind being 100% independent of everything, especially libc. Life is much simpler like that. J |
|
From: Oswald B. <os...@kd...> - 2005-08-10 15:08:27
|
On Wed, Aug 10, 2005 at 12:07:51AM +0100, Tom Hughes wrote: > > >> Solaris 10 doesn't allow static executables. The > > > reasons they give are here > > > > Euh, that sucks, but it doesn't surprise me. There just > > doesn't seem to be a portable way of making an executable > > _and_ all the shared objects it depends on be loaded in > > an out-of-the way place. > > Is there much difference between statically and dynamically linked > executables which don't reference any libraries though? > has anybody read the ref'd page actually? ;) the linker will do whatever you want it to. there is just no libc.a and other static system libs - biiiig problem. ;) -- Hi! I'm a .signature virus! Copy me into your ~/.signature, please! -- Chaos, panic, and disorder - my work here is done. |
|
From: <sv...@va...> - 2005-08-10 14:03:37
|
Author: njn
Date: 2005-08-10 15:03:28 +0100 (Wed, 10 Aug 2005)
New Revision: 4370
Log:
Don't need local_strcmp() -- the one in m_libcbase is entirely standalone
and so safe to use from the very start.
Modified:
branches/ASPACEM/coregrind/m_main.c
branches/ASPACEM/memcheck/tests/Makefile.am
Modified: branches/ASPACEM/coregrind/m_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/ASPACEM/coregrind/m_main.c 2005-08-10 13:42:50 UTC (rev 4369=
)
+++ branches/ASPACEM/coregrind/m_main.c 2005-08-10 14:03:28 UTC (rev 4370=
)
@@ -106,21 +106,6 @@
/*=3D=3D=3D Ultra-basic startup stuff =
=3D=3D=3D*/
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/
=20
-/* This may be needed before m_mylibc is OK to run. */
-static Int local_strcmp ( const HChar* s1, const HChar* s2 )
-{
- while (True) {
- if (*s1 =3D=3D 0 && *s2 =3D=3D 0) return 0;
- if (*s1 =3D=3D 0) return -1;
- if (*s2 =3D=3D 0) return 1;
-
- if (*(UChar*)s1 < *(UChar*)s2) return -1;
- if (*(UChar*)s1 > *(UChar*)s2) return 1;
-
- s1++; s2++;
- }
-}
-
// HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK HACK A
// temporary bootstrapping allocator, for use until such time as we
// can get rid of the circularites in allocator dependencies at
@@ -1257,7 +1242,7 @@
/* parse the options we have (only the options we care about now) */
for (i =3D 1; i < vg_argc; i++) {
=20
- if (local_strcmp(vg_argv[i], "--version") =3D=3D 0) {
+ if (VG_STREQ(vg_argv[i], "--version")) {
VG_(printf)("valgrind-" VERSION "\n");
VG_(exit)(0);
=20
@@ -1698,8 +1683,8 @@
=20
=20
/* Check that the requested tool actually supports XML output. */
- if (VG_(clo_xml) && 0 !=3D local_strcmp(toolname, "memcheck")
- && 0 !=3D local_strcmp(toolname, "none")) {
+ if (VG_(clo_xml) && !VG_STREQ(toolname, "memcheck")
+ && !VG_STREQ(toolname, "none")) {
VG_(clo_xml) =3D False;
VG_(message)(Vg_UserMsg,=20
"Currently only Memcheck|None supports XML output.");=20
@@ -1909,9 +1894,9 @@
for (i =3D 1; i < vg_argc; i++) {
Char *arg =3D vg_argv[i];
=20
- if (VG_(memcmp)(arg, "--exec=3D", 7) =3D=3D 0) {
+ if (VG_CLO_STREQN(7, arg, "--exec=3D")) {
// don't copy existing --exec=3D arg
- } else if (local_strcmp(arg, "--") =3D=3D 0) {
+ } else if (VG_CLO_STREQ(arg, "--")) {
// stop at "--"
break;
} else {
@@ -2324,9 +2309,9 @@
for (i =3D 1; i < argc; i++) {
if (argv[i][0] !=3D '-')
break;
- if (0 =3D=3D local_strcmp(argv[i], "--"))=20
+ if (VG_STREQ(argv[i], "--"))=20
break;
- if (0 =3D=3D local_strcmp(argv[i], "-d"))=20
+ if (VG_STREQ(argv[i], "-d"))=20
loglevel++;
}
=20
@@ -2390,9 +2375,9 @@
for (i =3D 1; i < vg_argc; i++) {
if (vg_argv[i][0] !=3D '-')
break;
- if (0 =3D=3D local_strcmp(vg_argv[i], "--"))=20
+ if (VG_STREQ(vg_argv[i], "--"))=20
break;
- if (0 =3D=3D local_strcmp(vg_argv[i], "-d"))=20
+ if (VG_STREQ(vg_argv[i], "-d"))=20
loglevel++;
}
VG_(debugLog_startup)(loglevel, "Stage 2 (second go)");
Modified: branches/ASPACEM/memcheck/tests/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
--- branches/ASPACEM/memcheck/tests/Makefile.am 2005-08-10 13:42:50 UTC (=
rev 4369)
+++ branches/ASPACEM/memcheck/tests/Makefile.am 2005-08-10 14:03:28 UTC (=
rev 4370)
@@ -134,8 +134,8 @@
=20
# Valgrind unit self-tests
hello_LDFLAGS =3D -Wl,-defsym,valt_load_address=3D0x50000000 \
- -Wl,-T,../../../valt_load_address.lds
-hello_DEPENDENCIES =3D ../../../valt_load_address.lds
+ -Wl,-T,$(top_srcdir)/valt_load_address.lds
+hello_DEPENDENCIES =3D $(top_srcdir)/valt_load_address.lds
=20
vgtest_ume_CFLAGS =3D -DVGA_$(VG_ARCH) -DVGO_$(VG_OS)
vgtest_ume_LDADD =3D ../../coregrind/m_ume.o
|
|
From: <sv...@va...> - 2005-08-10 13:42:56
|
Author: tom Date: 2005-08-10 14:42:50 +0100 (Wed, 10 Aug 2005) New Revision: 4369 Log: Update details of slow startup on gentoo amd64 systems. Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.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/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 12:54:53 UTC (rev 4= 368) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 13:42:50 UTC (rev 4= 369) @@ -13,6 +13,10 @@ =20 96542 x86 16-bit pop insns =20 +109861 amd64 hangs at startup yes, but have to wait for 3.1. Lo= ng delay + seems to be caused by amd64-Gento= o kernel + not liking large mmap/munmap requ= ests. + 109313 x86 cmpxchg8b =20 109323 ppc32: dispatch.S uses Altivec insn, which doesn't work on POWER.= =20 @@ -56,10 +60,6 @@ =20 110274 SSE1 now mandatory for x86 yes fixed(1321/4339) = TODO:merge =20 -110301 amd64 hangs at startup yes, but have to wait for 3.1. T= his is the - same as previously reported amd64= -Gentoo - hang (long delay, really). - 110388 amd64 0xDD 0xD1 yes fixed(1322) = TODO:merge =20 110464 amd64 0xDC 0x1D FCOMP yes fixed(1323) = TODO:merge |
|
From: <sv...@va...> - 2005-08-10 12:55:00
|
Author: sewardj
Date: 2005-08-10 13:54:53 +0100 (Wed, 10 Aug 2005)
New Revision: 4368
Log:
Update.
Modified:
trunk/docs/internals/3_0_BUGSTATUS.txt
Modified: trunk/docs/internals/3_0_BUGSTATUS.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/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 11:35:27 UTC (rev 4=
367)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 12:54:53 UTC (rev 4=
368)
@@ -62,9 +62,9 @@
=20
110388 amd64 0xDD 0xD1 yes fixed(1322) =
TODO:merge
=20
-110464 amd64 0xDC 0x1D FCOMP yes
+110464 amd64 0xDC 0x1D FCOMP yes fixed(1323) =
TODO:merge
=20
-110478 amd64 0xF 0xD 0x8 0xF yes
+110478 amd64 0xF 0xD PREFETCH yes fixed(1324) =
TODO:merge
=20
XML <unique> printing wrong ez2fix fixed:
4355,4357,4358 =
TODO:merge
|
|
From: <sv...@va...> - 2005-08-10 12:27:50
|
Author: sewardj
Date: 2005-08-10 13:27:46 +0100 (Wed, 10 Aug 2005)
New Revision: 1324
Log:
Implement PREFETCH{W} m8.
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-08-10 11:43:42 UTC (rev 1323)
+++ trunk/priv/guest-amd64/toIR.c 2005-08-10 12:27:46 UTC (rev 1324)
@@ -13064,6 +13064,25 @@
DIP("j%s-32 0x%llx\n", name_AMD64Condcode(opc - 0x80), d64);
break;
=20
+ /* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- PREFETCH =3D-=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D */
+ case 0x0D: /* 0F 0D /0 -- prefetch mem8 */
+ /* 0F 0D /1 -- prefetchw mem8 */
+ if (have66orF2orF3(pfx)) goto decode_failure;
+ modrm =3D getUChar(delta);
+ if (epartIsReg(modrm)) goto decode_failure;
+ if (gregLO3ofRM(modrm) !=3D 0 && gregLO3ofRM(modrm) !=3D 1)
+ goto decode_failure;
+
+ addr =3D disAMode ( &alen, pfx, delta, dis_buf, 0 );
+ delta +=3D alen;
+
+ switch (gregLO3ofRM(modrm)) {
+ case 0: DIP("prefetch %s\n", dis_buf); break;
+ case 1: DIP("prefetchw %s\n", dis_buf); break;
+ default: vassert(0); /*NOTREACHED*/
+ }
+ break;
+
/* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- RDTSC -=3D-=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D-=3D */
=20
case 0x31: /* RDTSC */
|
|
From: <sv...@va...> - 2005-08-10 11:43:43
|
Author: sewardj
Date: 2005-08-10 12:43:42 +0100 (Wed, 10 Aug 2005)
New Revision: 1323
Log:
Implement DC /3 (FCOMP double-real).
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-08-08 09:58:05 UTC (rev 1322)
+++ trunk/priv/guest-amd64/toIR.c 2005-08-10 11:43:42 UTC (rev 1323)
@@ -5150,22 +5150,23 @@
//.. mkU32(0x4500)
//.. ));
//.. break; =20
-//..=20
-//.. case 3: /* FCOMP double-real */
-//.. DIP("fcompl %s\n", dis_buf);
-//.. /* This forces C1 to zero, which isn't right. */
-//.. put_C3210(=20
-//.. binop( Iop_And32,
-//.. binop(Iop_Shl32,=20
-//.. binop(Iop_CmpF64,=20
-//.. get_ST(0),
-//.. loadLE(Ity_F64,mkexpr(addr)))=
,
-//.. mkU8(8)),
-//.. mkU32(0x4500)
-//.. ));
-//.. fp_pop();
-//.. break; =20
=20
+ case 3: /* FCOMP double-real */
+ DIP("fcompl %s\n", dis_buf);
+ /* This forces C1 to zero, which isn't right. */
+ put_C3210(=20
+ unop(Iop_32Uto64,
+ binop( Iop_And32,
+ binop(Iop_Shl32,=20
+ binop(Iop_CmpF64,=20
+ get_ST(0),
+ loadLE(Ity_F64,mkexpr(addr))),
+ mkU8(8)),
+ mkU32(0x4500)
+ )));
+ fp_pop();
+ break; =20
+
case 4: /* FSUB double-real */
fp_do_op_mem_ST_0 ( addr, "sub", dis_buf, Iop_SubF64, Tru=
e );
break;
|
|
From: <sv...@va...> - 2005-08-10 11:35:30
|
Author: dirk
Date: 2005-08-10 12:35:27 +0100 (Wed, 10 Aug 2005)
New Revision: 4367
Log:
- Fix up the sigaction results.
- When printing error counts, print the <unique> in the same way that
it is in the error itself. Otherwise it's totally useless :-)
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_errormgr.c
branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.c
branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp
branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp2
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_errormgr.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/VALGRIND_3_0_BRANCH/coregrind/m_errormgr.c 2005-08-10 11:33:=
46 UTC (rev 4366)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_errormgr.c 2005-08-10 11:35:=
27 UTC (rev 4367)
@@ -800,7 +800,7 @@
VG_(message)(
Vg_UserMsg, " <pair> <count>%d</count> "
"<unique>0x%llx</unique> </pair>",
- err->count, Ptr_to_ULong(err)
+ err->count, err->unique
);
}
VG_(message)(Vg_UserMsg, "</errorcounts>");
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.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/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.c 2005-08-10 1=
1:33:46 UTC (rev 4366)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.c 2005-08-10 1=
1:35:27 UTC (rev 4367)
@@ -763,7 +763,7 @@
=20
// __NR_rt_sigaction 174
GO(__NR_rt_sigaction, "4s 2m");
- SY(__NR_rt_sigaction, x0, x0+1, x0+1, x0); FAIL;
+ SY(__NR_rt_sigaction, x0, x0+&px[2], x0+&px[2], x0); FAIL;
=20
// __NR_rt_sigprocmask 175
GO(__NR_rt_sigprocmask, "4s 2m");
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.e=
xp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp 200=
5-08-10 11:33:46 UTC (rev 4366)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp 200=
5-08-10 11:35:27 UTC (rev 4367)
@@ -800,7 +800,7 @@
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
=20
-Syscall param sigaction(act) points to unaddressable byte(s)
+Syscall param sigaction(act->sa_handler) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
@@ -808,6 +808,22 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (scalar.c:24)
=20
+Syscall param sigaction(act->sa_mask) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
+Syscall param sigaction(act->sa_flags) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
+ Address 0x........ is 8 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
Syscall param sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
@@ -2400,17 +2416,35 @@
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
=20
-Syscall param rt_sigaction(act) points to unaddressable byte(s)
+Syscall param rt_sigaction(act->sa_handler) points to unaddressable byte=
(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
+Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=20
+Syscall param rt_sigaction(act->sa_flags) points to unaddressable byte(s=
)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
+ Address 0x........ is 8 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
Syscall param rt_sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
-----------------------------------------------------
175: __NR_rt_sigprocmask 4s 2m
-----------------------------------------------------
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.e=
xp2
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp2 20=
05-08-10 11:33:46 UTC (rev 4366)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/scalar.stderr.exp2 20=
05-08-10 11:35:27 UTC (rev 4367)
@@ -718,13 +718,27 @@
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:320)
=20
-Syscall param sigaction(act) points to unaddressable byte(s)
+Syscall param sigaction(act->sa_handler) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:320)
Address 0x........ is 0 bytes after a block of size 4 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (scalar.c:24)
=20
+Syscall param sigaction(act->sa_mask) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: main (scalar.c:320)
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
+Syscall param sigaction(act->sa_flags) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: main (scalar.c:320)
+ Address 0x........ is 8 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
Syscall param sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:320)
@@ -2081,15 +2095,31 @@
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:766)
=20
-Syscall param rt_sigaction(act) points to unaddressable byte(s)
+Syscall param rt_sigaction(act->sa_handler) points to unaddressable byte=
(s)
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:766)
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
+Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: main (scalar.c:766)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=20
+Syscall param rt_sigaction(act->sa_flags) points to unaddressable byte(s=
)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: main (scalar.c:766)
+ Address 0x........ is 8 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
Syscall param rt_sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: main (scalar.c:766)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
-----------------------------------------------------
175: __NR_rt_sigprocmask 4s 2m
-----------------------------------------------------
|
|
From: <sv...@va...> - 2005-08-10 11:33:48
|
Author: dirk
Date: 2005-08-10 12:33:46 +0100 (Wed, 10 Aug 2005)
New Revision: 4366
Log:
Fix system call name in error messages.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-li=
nux.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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c =
2005-08-10 11:33:18 UTC (rev 4365)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c =
2005-08-10 11:33:46 UTC (rev 4366)
@@ -1873,11 +1873,11 @@
=20
if (ARG2 !=3D 0) {
struct vki_old_sigaction *sa =3D (struct vki_old_sigaction *)ARG2;
- PRE_MEM_READ( "rt_sigaction(act->sa_handler)", (Addr)&sa->ksa_hand=
ler, sizeof(sa->ksa_handler));
- PRE_MEM_READ( "rt_sigaction(act->sa_mask)", (Addr)&sa->sa_mask, si=
zeof(sa->sa_mask));
- PRE_MEM_READ( "rt_sigaction(act->sa_flags)", (Addr)&sa->sa_flags, =
sizeof(sa->sa_flags));
+ PRE_MEM_READ( "sigaction(act->sa_handler)", (Addr)&sa->ksa_handler=
, sizeof(sa->ksa_handler));
+ PRE_MEM_READ( "sigaction(act->sa_mask)", (Addr)&sa->sa_mask, sizeo=
f(sa->sa_mask));
+ PRE_MEM_READ( "sigaction(act->sa_flags)", (Addr)&sa->sa_flags, siz=
eof(sa->sa_flags));
if (sa->sa_flags & VKI_SA_RESTORER)
- PRE_MEM_READ( "rt_sigaction(act->sa_restorer)", (Addr)&sa->sa_r=
estorer, sizeof(sa->sa_restorer));
+ PRE_MEM_READ( "sigaction(act->sa_restorer)", (Addr)&sa->sa_rest=
orer, sizeof(sa->sa_restorer));
}
=20
if (ARG3 !=3D 0) {
|
|
From: <sv...@va...> - 2005-08-10 11:33:21
|
Author: dirk
Date: 2005-08-10 12:33:18 +0100 (Wed, 10 Aug 2005)
New Revision: 4365
Log:
Check the fields of the new structure passed to sigaction individually
and only check sa_restorer if the SA_RESTORER flag is set.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-generic.c
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-generi=
c.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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-generic.c 20=
05-08-10 11:32:41 UTC (rev 4364)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-generic.c 20=
05-08-10 11:33:18 UTC (rev 4365)
@@ -5374,8 +5374,14 @@
int, signum, const struct sigaction *, act,
struct sigaction *, oldact, vki_size_t, sigsetsize);
=20
- if (ARG2 !=3D 0)
- PRE_MEM_READ( "rt_sigaction(act)", ARG2, sizeof(struct vki_sigacti=
on));
+ if (ARG2 !=3D 0) {
+ struct vki_sigaction *sa =3D (struct vki_sigaction *)ARG2;
+ PRE_MEM_READ( "rt_sigaction(act->sa_handler)", (Addr)&sa->ksa_hand=
ler, sizeof(sa->ksa_handler));
+ PRE_MEM_READ( "rt_sigaction(act->sa_mask)", (Addr)&sa->sa_mask, si=
zeof(sa->sa_mask));
+ PRE_MEM_READ( "rt_sigaction(act->sa_flags)", (Addr)&sa->sa_flags, =
sizeof(sa->sa_flags));
+ if (sa->sa_flags & VKI_SA_RESTORER)
+ PRE_MEM_READ( "rt_sigaction(act->sa_restorer)", (Addr)&sa->sa_r=
estorer, sizeof(sa->sa_restorer));
+ }
if (ARG3 !=3D 0)
PRE_MEM_WRITE( "rt_sigaction(oldact)", ARG3, sizeof(struct vki_sig=
action));
=20
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-li=
nux.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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c =
2005-08-10 11:32:41 UTC (rev 4364)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-x86-linux.c =
2005-08-10 11:33:18 UTC (rev 4365)
@@ -1871,8 +1871,14 @@
=20
newp =3D oldp =3D NULL;
=20
- if (ARG2 !=3D 0)
- PRE_MEM_READ( "sigaction(act)", ARG2, sizeof(struct vki_old_sigact=
ion));
+ if (ARG2 !=3D 0) {
+ struct vki_old_sigaction *sa =3D (struct vki_old_sigaction *)ARG2;
+ PRE_MEM_READ( "rt_sigaction(act->sa_handler)", (Addr)&sa->ksa_hand=
ler, sizeof(sa->ksa_handler));
+ PRE_MEM_READ( "rt_sigaction(act->sa_mask)", (Addr)&sa->sa_mask, si=
zeof(sa->sa_mask));
+ PRE_MEM_READ( "rt_sigaction(act->sa_flags)", (Addr)&sa->sa_flags, =
sizeof(sa->sa_flags));
+ if (sa->sa_flags & VKI_SA_RESTORER)
+ PRE_MEM_READ( "rt_sigaction(act->sa_restorer)", (Addr)&sa->sa_r=
estorer, sizeof(sa->sa_restorer));
+ }
=20
if (ARG3 !=3D 0) {
PRE_MEM_WRITE( "sigaction(oldact)", ARG3, sizeof(struct vki_old_si=
gaction));
|
|
From: <sv...@va...> - 2005-08-10 11:32:43
|
Author: dirk
Date: 2005-08-10 12:32:41 +0100 (Wed, 10 Aug 2005)
New Revision: 4364
Log:
Valgrind-side stub for dealing with x86 sysenter artefacts from Vex.
Does not do anything yet.
Updated expected output following %eflags.ac simulation fix.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_scheduler/scheduler.c
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf.stderr.exp
branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf_s.s
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_scheduler/scheduler.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/VALGRIND_3_0_BRANCH/coregrind/m_scheduler/scheduler.c 2005-0=
8-10 11:30:04 UTC (rev 4363)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_scheduler/scheduler.c 2005-0=
8-10 11:32:41 UTC (rev 4364)
@@ -772,6 +772,24 @@
"run_innerloop detected host "
"state invariant failure", trc);
=20
+ case VEX_TRC_JMP_SYSENTER_X86:
+ /* Do whatever simulation is appropriate for an x86 sysenter
+ instruction. Note that it is critical to set this thread's
+ guest_EIP to point at the code to execute after the
+ sysenter, since Vex-generated code will not have set it --
+ vex does not know what it should be. Vex sets the next
+ address to zero, so if you don't guest_EIP, the thread will
+ jump to zero afterwards and probably die as a result. */
+# if defined(VGA_x86)
+ //FIXME: VG_(threads)[tid].arch.vex.guest_EIP =3D ....
+ //handle_sysenter_x86(tid);
+ vg_assert2(0, "VG_(scheduler), phase 3: "
+ "sysenter_x86 on not yet implemented");
+# else
+ vg_assert2(0, "VG_(scheduler), phase 3: "
+ "sysenter_x86 on non-x86 platform?!?!");
+# endif
+
default:=20
vg_assert2(0, "VG_(scheduler), phase 3: "
"unexpected thread return code (%u)", trc);
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:30:04 UTC (rev 4363)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:32:41 UTC (rev 4364)
@@ -312,7 +312,7 @@
void* arg in r6
pid_t* child_tid in r7
pid_t* parent_tid in r8
- void* tls_ptr in r9
+ void* ??? in r9
=20
System call requires:
=20
@@ -320,8 +320,9 @@
int flags in r3 (sc arg1)
void* child_stack in r4 (sc arg2)
pid_t* parent_tid in r5 (sc arg3)
- pid_t* child_tid in r6 (sc arg4)
- void* tls_ptr in r7 (sc arg5)
+ ?? child_tls in r6 (sc arg4)
+ pid_t* child_tid in r7 (sc arg5)
+ void* ??? in r8 (sc arg6)
=20
Returns an Int encoded in the linux-ppc32 way, not a SysRes.
*/
@@ -359,8 +360,10 @@
" mr 3,5\n" // syscall arg1: flags
// r4 already setup // syscall arg2: child_stack
" mr 5,8\n" // syscall arg3: parent_tid
-" mr 6,7\n" // syscall arg4: child_tid
-" mr 7,9\n" // syscall arg5: tls_ptr
+" mr 6,2\n" // syscall arg4: REAL THREAD tls
+" mr 7,7\n" // syscall arg5: child_tid
+" mr 8,8\n" // syscall arg6: ????
+" mr 9,9\n" // syscall arg7: ????
=20
" sc\n" // clone()
=20
@@ -486,7 +489,7 @@
ctst->client_stack_szB =3D ctst->client_stack_highest_word - seg-=
>addr;
=20
if (debug)
- VG_(printf)("tid %d: guessed client stack range %p-%p\n",
+ VG_(printf)("\ntid %d: guessed client stack range %p-%p\n",
ctid, seg->addr, VG_PGROUNDUP(sp));
} else {
VG_(message)(Vg_UserMsg, "!? New thread %d starts with R1(%p) unma=
pped\n",
@@ -1438,10 +1441,10 @@
PRINT("sys_clone ( %x, %p, %p, %p, %p )",ARG1,ARG2,ARG3,ARG4,ARG5);
PRE_REG_READ5(int, "clone",
unsigned long, flags,
- void *, child_stack,
- int *, parent_tidptr,
- void *, child_tls,
- int *, child_tidptr);
+ void *, child_stack,
+ int *, parent_tidptr,
+ void *, child_tls,
+ int *, child_tidptr);
=20
if (ARG1 & VKI_CLONE_PARENT_SETTID) {
PRE_MEM_WRITE("clone(parent_tidptr)", ARG3, sizeof(Int));
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf.stder=
r.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf.stderr.exp =
2005-08-10 11:30:04 UTC (rev 4363)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf.stderr.exp =
2005-08-10 11:32:41 UTC (rev 4364)
@@ -1,3 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: fooble (...)
by 0x........: main (pushfpopf_c.c:12)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: fooble (...)
+ by 0x........: main (pushfpopf_c.c:12)
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf_s.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/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf_s.s 2005-08=
-10 11:30:04 UTC (rev 4363)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/tests/x86/pushfpopf_s.s 2005-08=
-10 11:32:41 UTC (rev 4364)
@@ -22,9 +22,12 @@
popfl
# resulting flag definedness depends on outcome of sub above
# should override that created by 0 + 0 above
+ # because Vex does an emulation-warning check on the popfl,
+ # an error should be reported for the popfl
=09
# now use the condition codes to generate a value
# in a way which will cause undefinedness to get reported
+ # (a second time)
jz labelz
movl $22, %eax
jmp theend
|
|
From: <sv...@va...> - 2005-08-10 11:30:07
|
Author: dirk
Date: 2005-08-10 12:30:04 +0100 (Wed, 10 Aug 2005)
New Revision: 4363
Log:
r4325 | sewardj | 2005-08-05 02:10:11 +0200 (Fri, 05 Aug 2005) | 4 lines
ppc32-linux: implement a bunch more syscalls, and also fix up clone
handling enough so that threads can successfuly be started.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:28:50 UTC (rev 4362)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:30:04 UTC (rev 4363)
@@ -415,9 +415,9 @@
UInt flags, Addr sp,=20
Int *parent_tidptr,=20
Int *child_tidptr,=20
- vki_modify_ldt_t *tlsinfo)
+ Addr child_tls)
{
- static const Bool debug =3D False;
+ const Bool debug =3D False;
=20
ThreadId ctid =3D VG_(alloc_ThreadState)();
ThreadState* ptst =3D VG_(get_ThreadState)(ptid);
@@ -451,13 +451,20 @@
=20
If the clone call specifies a NULL SP for the new thread, then
it actually gets a copy of the parent's SP.
+
+ The child's TLS register (r2) gets set to the tlsaddr argument
+ if the CLONE_SETTLS flag is set.
*/
setup_child( &ctst->arch, &ptst->arch );
=20
/* Make sys_clone appear to have returned Success(0) in the
child. */
- ctst->arch.vex.guest_GPR3 =3D 0;
-#warning "fixme: need to clear simulated CR0.SO"
+ { UInt old_cr =3D LibVEX_GuestPPC32_get_CR( &ctst->arch.vex );
+ /* %r3 =3D 0 */
+ ctst->arch.vex.guest_GPR3 =3D 0;
+ /* %cr0.so =3D 0 */
+ LibVEX_GuestPPC32_put_CR( old_cr & ~(1<<28), &ctst->arch.vex );
+ }
=20
if (sp !=3D 0)
ctst->arch.vex.guest_GPR1 =3D sp;
@@ -489,11 +496,8 @@
=20
if (flags & VKI_CLONE_SETTLS) {
if (debug)
- VG_(printf)("clone child has SETTLS: tls at %p\n", tlsinfo);
- vg_assert(0);
- // ret =3D VG_(sys_set_thread_area)(ctid, tlsinfo);
- // if (ret !=3D 0)
- // goto out;
+ VG_(printf)("clone child has SETTLS: tls at %p\n", child_tls);
+ ctst->arch.vex.guest_GPR2 =3D child_tls;
}
=20
flags &=3D ~VKI_CLONE_SETTLS;
@@ -506,7 +510,13 @@
start_thread_NORETURN, stack, flags, &VG_(threads)[ctid],
child_tidptr, parent_tidptr, NULL
);
- res =3D VG_(mk_SysRes_ppc32_linux)( (UInt)(word64 >> 32), (UInt)word6=
4 );
+ /* High half word64 is syscall return value. Low half is
+ the entire CR, from which we need to extract CR0.SO. */
+ /* VG_(printf)("word64 =3D 0x%llx\n", word64); */
+ res =3D VG_(mk_SysRes_ppc32_linux)(=20
+ /*val*/(UInt)(word64 >> 32),=20
+ /*errflag*/ (((UInt)word64) >> 28) & 1=20
+ );
=20
VG_(sigprocmask)(VKI_SIG_SETMASK, &savedmask, NULL);
=20
@@ -1430,7 +1440,7 @@
unsigned long, flags,
void *, child_stack,
int *, parent_tidptr,
- vki_modify_ldt_t *, tlsinfo,
+ void *, child_tls,
int *, child_tidptr);
=20
if (ARG1 & VKI_CLONE_PARENT_SETTID) {
@@ -1448,15 +1458,6 @@
}
}
=20
-#warning "Is this next check relevant/needed?"
- if (ARG1 & VKI_CLONE_SETTLS) {
- PRE_MEM_READ("clone(tls_user_desc)", ARG4, sizeof(vki_modify_ldt_t=
));
- if (!VG_(is_addressable)(ARG4, sizeof(vki_modify_ldt_t), VKI_PROT_=
READ)) {
- SET_STATUS_Failure( VKI_EFAULT );
- return;
- }
- }
-
cloneflags =3D ARG1;
=20
if (!ML_(client_signal_OK)(ARG1 & VKI_CSIGNAL)) {
@@ -1475,7 +1476,7 @@
(Addr)ARG2, /* child SP */
(Int *)ARG3, /* parent_tidptr */
(Int *)ARG5, /* child_tidptr */
- (vki_modify_ldt_t *)ARG4)); /* set_tls */
+ (Addr)ARG4)); /* child_tls */
break;
=20
case VKI_CLONE_VFORK | VKI_CLONE_VM: /* vfork */
@@ -1975,7 +1976,7 @@
//.. // (__NR_lchown, sys_lchown16), // 16 ## P
//.. GENX_(__NR_break, sys_ni_syscall), // 17
//.. // (__NR_oldstat, sys_stat), // 18 (obs=
olete)
-//.. GENX_(__NR_lseek, sys_lseek), // 19
+ GENX_(__NR_lseek, sys_lseek), // 19
//..=20
GENX_(__NR_getpid, sys_getpid), // 20
//.. LINX_(__NR_mount, sys_mount), // 21
@@ -2001,10 +2002,10 @@
GENX_(__NR_rename, sys_rename), // 38
GENX_(__NR_mkdir, sys_mkdir), // 39
=20
-//.. GENX_(__NR_rmdir, sys_rmdir), // 40
+ GENX_(__NR_rmdir, sys_rmdir), // 40
GENXY(__NR_dup, sys_dup), // 41
GENXY(__NR_pipe, sys_pipe), // 42
-//.. GENXY(__NR_times, sys_times), // 43
+ GENXY(__NR_times, sys_times), // 43
//.. GENX_(__NR_prof, sys_ni_syscall), // 44
//..=20
GENX_(__NR_brk, sys_brk), // 45
@@ -2064,7 +2065,7 @@
GENXY(__NR_mmap, sys_mmap2), // 90
GENXY(__NR_munmap, sys_munmap), // 91
//.. GENX_(__NR_truncate, sys_truncate), // 92
-//.. GENX_(__NR_ftruncate, sys_ftruncate), // 93
+ GENX_(__NR_ftruncate, sys_ftruncate), // 93
GENX_(__NR_fchmod, sys_fchmod), // 94
=20
GENX_(__NR_fchown, sys_fchown16), // 95
@@ -2126,7 +2127,7 @@
LINXY(__NR__llseek, sys_llseek), // 140
//.. GENXY(__NR_getdents, sys_getdents), // 141
GENX_(__NR__newselect, sys_select), // 142
-//.. GENX_(__NR_flock, sys_flock), // 143
+ GENX_(__NR_flock, sys_flock), // 143
//.. GENX_(__NR_msync, sys_msync), // 144
//..=20
GENXY(__NR_readv, sys_readv), // 145
@@ -2141,9 +2142,9 @@
//.. GENX_(__NR_munlockall, sys_munlockall), // 153
//.. GENXY(__NR_sched_setparam, sys_sched_setparam), // 154
//..=20
-//.. GENXY(__NR_sched_getparam, sys_sched_getparam), /=
/ 155
+ GENXY(__NR_sched_getparam, sys_sched_getparam), // 155
//.. GENX_(__NR_sched_setscheduler, sys_sched_setscheduler), /=
/ 156
-//.. GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), /=
/ 157
+ GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
//.. GENX_(__NR_sched_yield, sys_sched_yield), /=
/ 158
//.. GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),/=
/ 159
//..=20
@@ -2153,14 +2154,14 @@
GENX_(__NR_mremap, sys_mremap), // 163
//.. LINX_(__NR_setresuid, sys_setresuid16), // 164
//..=20
-//.. LINXY(__NR_getresuid, sys_getresuid16), // 165
+ LINXY(__NR_getresuid, sys_getresuid16), // 165
=20
//.. GENX_(__NR_query_module, sys_ni_syscall), // 166
GENXY(__NR_poll, sys_poll), // 167
//.. // (__NR_nfsservctl, sys_nfsservctl), // 168 */L=
inux
//..=20
//.. LINX_(__NR_setresgid, sys_setresgid16), // 169
-//.. LINXY(__NR_getresgid, sys_getresgid16), // 170
+ LINXY(__NR_getresgid, sys_getresgid16), // 170
LINX_(__NR_prctl, sys_prctl), // 171
//.. PLAX_(__NR_rt_sigreturn, sys_rt_sigreturn), // 172
GENXY(__NR_rt_sigaction, sys_rt_sigaction), // 173
|
|
From: <sv...@va...> - 2005-08-10 11:28:53
|
Author: dirk
Date: 2005-08-10 12:28:50 +0100 (Wed, 10 Aug 2005)
New Revision: 4362
Log:
r4323 | sewardj | 2005-08-05 01:52:21 +0200 (Fri, 05 Aug 2005) | 6 lines
ppc32-linux only: HACK: for now, mess with the auxv handed to the
client so as to not claim that the CPU supports Altivec. This is a
partially-successful hack to try and dissuade glibc and its minions
from doing Altivec insns.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_main.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_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/VALGRIND_3_0_BRANCH/coregrind/m_main.c 2005-08-10 11:20:44 U=
TC (rev 4361)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_main.c 2005-08-10 11:28:50 U=
TC (rev 4362)
@@ -179,6 +179,12 @@
(UInt)auxv->u.a_val, (UInt)auxv->a_type );
}
break;
+
+ case AT_HWCAP:
+ VG_(debugLog)(1, "main", "PPC32 hwcaps(1): 0x%x\n", (UInt)auxv-=
>u.a_val);
+ auxv->u.a_val &=3D ~0x10000000; /* claim there is no Altivec su=
pport */
+ VG_(debugLog)(1, "main", "PPC32 hwcaps(2): 0x%x\n", (UInt)auxv-=
>u.a_val);
+ break;
# endif
=20
case AT_PHDR:
|
|
From: Dirk M. <dm...@gm...> - 2005-08-10 11:24:53
|
On Wednesday 10 August 2005 12:23, Julian Seward wrote: > Me neither. Although it would be good if you could keep the > 3_0_BUGSTATUS.txt file up to date. I'll do some vex-related > fixing and merging today too. Can't merge the VEX changes because I don't have an account in that repository. started valgrind merging though, but I cannot do important changes because they rely on VEX adjustments :) Dirk |
|
From: <sv...@va...> - 2005-08-10 11:20:48
|
Author: sewardj
Date: 2005-08-10 12:20:44 +0100 (Wed, 10 Aug 2005)
New Revision: 4361
Log:
Update.
Modified:
trunk/docs/internals/3_0_BUGSTATUS.txt
Modified: trunk/docs/internals/3_0_BUGSTATUS.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/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 11:14:51 UTC (rev 4=
360)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-10 11:20:44 UTC (rev 4=
361)
@@ -59,3 +59,16 @@
110301 amd64 hangs at startup yes, but have to wait for 3.1. T=
his is the
same as previously reported amd64=
-Gentoo
hang (long delay, really).
+
+110388 amd64 0xDD 0xD1 yes fixed(1322) =
TODO:merge
+
+110464 amd64 0xDC 0x1D FCOMP yes
+
+110478 amd64 0xF 0xD 0x8 0xF yes
+
+XML <unique> printing wrong ez2fix fixed:
+ 4355,4357,4358 =
TODO:merge
+
+Dirk r4359 (amd64 syscalls from trunk) =
done(4359)
+
+Dirk r4360 (upd email addrs from trunk) =
done(4360)
|
|
From: <sv...@va...> - 2005-08-10 11:14:55
|
Author: dirk
Date: 2005-08-10 12:14:51 +0100 (Wed, 10 Aug 2005)
New Revision: 4360
Log:
replace outdated emailaddress (backport from trunk)
Modified:
branches/VALGRIND_3_0_BRANCH/cachegrind/cg-ppc32.c
branches/VALGRIND_3_0_BRANCH/cachegrind/cg_annotate.in
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/cachegrind/cg-ppc32.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/VALGRIND_3_0_BRANCH/cachegrind/cg-ppc32.c 2005-08-10 11:12:3=
6 UTC (rev 4359)
+++ branches/VALGRIND_3_0_BRANCH/cachegrind/cg-ppc32.c 2005-08-10 11:14:5=
1 UTC (rev 4360)
@@ -8,7 +8,7 @@
profiling programs.
=20
Copyright (C) 2005 Nicholas Nethercote
- nj...@ca...
+ nj...@va...
=20
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
Modified: branches/VALGRIND_3_0_BRANCH/cachegrind/cg_annotate.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
--- branches/VALGRIND_3_0_BRANCH/cachegrind/cg_annotate.in 2005-08-10 11:=
12:36 UTC (rev 4359)
+++ branches/VALGRIND_3_0_BRANCH/cachegrind/cg_annotate.in 2005-08-10 11:=
14:51 UTC (rev 4360)
@@ -160,7 +160,7 @@
=20
Cachegrind is Copyright (C) 2002-2005 Nicholas Nethercote.
Both are licensed under the GNU General Public License, version 2.
- Bug reports, feedback, admiration, abuse, etc, to: njn25\@cam.ac.uk.
+ Bug reports, feedback, admiration, abuse, etc, to: njn\@valgrind.org.
=20
END
;
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:12:36 UTC (rev 4359)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-10 11:14:51 UTC (rev 4360)
@@ -7,7 +7,7 @@
This file is part of Valgrind, a dynamic binary instrumentation
framework.
=20
- Copyright (C) 2005 Nicholas Nethercote <nj...@ca...>
+ Copyright (C) 2005 Nicholas Nethercote <nj...@va...>
Copyright (C) 2005 Cerion Armour-Brown <ce...@op...>
=20
This program is free software; you can redistribute it and/or
|
|
From: <sv...@va...> - 2005-08-10 11:12:40
|
Author: dirk
Date: 2005-08-10 12:12:36 +0100 (Wed, 10 Aug 2005)
New Revision: 4359
Log:
sync syscall related changes from trunk to BRANCH (inotify support
mostly)
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c
branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-amd64-linux.h
branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h
Modified: branches/VALGRIND_3_0_BRANCH/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
--- branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2005-08-09 22:34:18 UTC (rev 4358)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2005-08-10 11:12:36 UTC (rev 4359)
@@ -1460,20 +1460,29 @@
=20
// (__NR_utimes, sys_utimes), // 235=20
// (__NR_vserver, sys_ni_syscall), // 236=20
- // (__NR_vserver, sys_ni_syscall), // 236=20
// (__NR_mbind, sys_mbind), // 237=20
LINX_(__NR_set_mempolicy, sys_set_mempolicy), // 238=20
+ LINXY(__NR_get_mempolicy, sys_get_mempolicy), // 239
=20
- LINXY(__NR_get_mempolicy, sys_get_mempolicy), // 239=20
GENXY(__NR_mq_open, sys_mq_open), // 240=20
GENX_(__NR_mq_unlink, sys_mq_unlink), // 241=20
GENX_(__NR_mq_timedsend, sys_mq_timedsend), // 242=20
GENX_(__NR_mq_timedreceive, sys_mq_timedreceive),// 243=20
+ GENX_(__NR_mq_notify, sys_mq_notify), // 244
=20
- GENX_(__NR_mq_notify, sys_mq_notify), // 244=20
GENXY(__NR_mq_getsetattr, sys_mq_getsetattr), // 245=20
// (__NR_kexec_load, sys_ni_syscall), // 246=20
GENXY(__NR_waitid, sys_waitid), // 247=20
+// LINX_(__NR_add_key, sys_add_key), // 248
+// LINX_(__NR_request_key, sys_request_key), // 249
+
+// LINXY(__NR_keyctl, sys_keyctl), // 250
+// LINX_(__NR_ioprio_set, sys_ioprio_set), // 251
+// LINX_(__NR_ioprio_get, sys_ioprio_get), // 252
+ LINX_(__NR_inotify_init, sys_inotify_init), // 253
+ LINX_(__NR_inotify_add_watch, sys_inotify_add_watch), // 254
+
+ LINX_(__NR_inotify_rm_watch, sys_inotify_rm_watch), // 255
};
=20
const UInt ML_(syscall_table_size) =3D=20
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-amd64-linux.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/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-amd64-linux.h 2005-=
08-09 22:34:18 UTC (rev 4358)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-amd64-linux.h 2005-=
08-10 11:12:36 UTC (rev 4359)
@@ -329,5 +329,8 @@
#define __NR_keyctl 250
#define __NR_ioprio_set 251
#define __NR_ioprio_get 252
+#define __NR_inotify_init 253
+#define __NR_inotify_add_watch 254
+#define __NR_inotify_rm_watch 255
=20
#endif /* __VKI_UNISTD_AMD64_LINUX_H */
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.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/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-09 22:34:18 UTC (rev 4358)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-10 11:12:36 UTC (rev 4359)
@@ -69,10 +69,10 @@
#define __NR_kill 37
#define __NR_rename 38
#define __NR_mkdir 39
-//#define __NR_rmdir 40
+#define __NR_rmdir 40
#define __NR_dup 41
#define __NR_pipe 42
-//#define __NR_times 43
+#define __NR_times 43
//#define __NR_prof 44
#define __NR_brk 45
#define __NR_setgid 46
@@ -109,7 +109,7 @@
//#define __NR_getrusage 77
#define __NR_gettimeofday 78
//#define __NR_settimeofday 79
-#define __NR_getgroups 80
+#define __NR_getgroups 80
//#define __NR_setgroups 81
//#define __NR_select 82
#define __NR_symlink 83
@@ -122,7 +122,7 @@
#define __NR_mmap 90
#define __NR_munmap 91
//#define __NR_truncate 92
-//#define __NR_ftruncate 93
+#define __NR_ftruncate 93
#define __NR_fchmod 94
#define __NR_fchown 95
//#define __NR_getpriority 96
@@ -172,7 +172,7 @@
#define __NR__llseek 140
#define __NR_getdents 141
#define __NR__newselect 142
-//#define __NR_flock 143
+#define __NR_flock 143
//#define __NR_msync 144
#define __NR_readv 145
#define __NR_writev 146
@@ -184,9 +184,9 @@
//#define __NR_mlockall 152
//#define __NR_munlockall 153
//#define __NR_sched_setparam 154
-//#define __NR_sched_getparam 155
+#define __NR_sched_getparam 155
//#define __NR_sched_setscheduler 156
-//#define __NR_sched_getscheduler 157
+#define __NR_sched_getscheduler 157
#define __NR_sched_yield 158
//#define __NR_sched_get_priority_max 159
//#define __NR_sched_get_priority_min 160
@@ -194,12 +194,12 @@
#define __NR_nanosleep 162
#define __NR_mremap 163
//#define __NR_setresuid 164
-//#define __NR_getresuid 165
+#define __NR_getresuid 165
//#define __NR_query_module 166
#define __NR_poll 167
//#define __NR_nfsservctl 168
//#define __NR_setresgid 169
-//#define __NR_getresgid 170
+#define __NR_getresgid 170
#define __NR_prctl 171
#define __NR_rt_sigreturn 172
#define __NR_rt_sigaction 173
@@ -304,5 +304,8 @@
//#define __NR_waitid 272
//#define __NR_ioprio_set 273
//#define __NR_ioprio_get 274
+//#define __NR_inotify_init 275
+//#define __NR_inotify_add_watch 276
+//#define __NR_inotify_rm_watch 277
=20
#endif /* __VKI_UNISTD_PPC32_LINUX_H */
|
|
From: Julian S. <js...@ac...> - 2005-08-10 10:17:18
|
> And to answer Dirk's original question: I see no problem with you > backporting bug-fixes from the trunk to the 3_0_X branch. Me neither. Although it would be good if you could keep the 3_0_BUGSTATUS.txt file up to date. I'll do some vex-related fixing and merging today too. J |
|
From: Julian S. <js...@ac...> - 2005-08-10 10:08:49
|
> Oh, hang on, I bet you're talking about the VEX code? That does compile > support for all guest and host platforms because the whole point is that > it can (at least in theory) translate from one instruction set to another. Yes. Another and more immediate reason for compiling in all host and guest architectures on vex is to reduce the number of different build-time configurations that we have to ensure keep working. J |
|
From: Tom H. <to...@co...> - 2005-08-10 06:15:14
|
In message <200...@ge...>
Christian Parpart <tr...@ge...> wrote:
> well, well known, I'm on amd64, however, everytime I'm [re]building my local
> trunk I must see, that it's also compiling for ppc and x86;
> I *could* understand why it's compiling x86 (are they sharing code?), but for
> sure not why it is compiling files containing the substring "ppc").
This seems very unlikely given at least some of those files won't compile
on the wrong architecture. It would also tend to cause duplicate symbol
errors as those files tend to provide the same functions for each platform.
Can you provide an example of a file which you thing is being wrongly
compiled?
Oh, hang on, I bet you're talking about the VEX code? That does compile
support for all guest and host platforms because the whole point is that
it can (at least in theory) translate from one instruction set to another.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Tom H. <to...@co...> - 2005-08-10 04:50:05
|
In message <200...@ja...>
sv...@va... wrote:
> There is an appalling kludge which would benefit from the attention of
> people more skilled than me in the Art Of Automake:
>
> In coregrind, I fundamentally want automake to build 'libcoregrind.a'.
> And automake is all set up to do that. Except .. automake constructs
> the .a by using /usr/bin/ar, which is a problem because some of the
> inputs to libcoregrind.a are themselves .a files (specifically, the
> results of building any m_modulename/ directory). And so ar barfs.
>
> My horrible hack is tell automake that the name of 'ar' is in fact 'ld
> -r -o'. Since ld is able to accept both .o and .a files as input this
> works, except that the resulting libcoregrind.a is actually a .o file.
Well is there any reason whey coregrind has to built into a library
rather than a relocatable object (which is what it sounds like you are
doing now, but with the wrong extension).
The only real advantage of a library is that unused code can be left
out but how much of coregrind will not be pulled in by a tool?
> If anybody knows how to fix this properly I would be happy to hear
> from you.
Well Amazon delivered my copy of the automake book today so once I've
read that I might have some ideas ;-)
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Tom H. <th...@cy...> - 2005-08-10 04:23:34
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-08-09 03:15:03 BST Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 180 tests, 14 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == 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 == 180 tests, 15 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Aug 9 03:21:32 2005 --- new.short Tue Aug 9 03:28:00 2005 *************** *** 8,10 **** ! == 180 tests, 15 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 180 tests, 14 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) *************** *** 21,25 **** memcheck/tests/stack_changes (stderr) - memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) --- 21,25 ---- memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) + none/tests/x86/yield (stdout) |
|
From: Rich C. <Ric...@me...> - 2005-08-10 04:22:08
|
Attached is a patch for suppressing additional errors from glibc-2.3.5. On Sat, 23 Jul 2005 13:22:26 +0100 Tom Hughes <to...@co...> wrote: > In message <20050721095436.243babda@godzilla> > Rich Coe <Ric...@me...> wrote: > > > I'm building V 3.0.0 on x86 FC3 like system and I'm getting 83 failures > > in from the test framework. > > > > 71 of 73 errors are definitely from here: > > + Conditional jump or move depends on uninitialised value(s) > > + at 0x........: index (in /lib/ld-2.3.5.so) > > + by 0x........: map_doit (in /lib/ld-2.3.5.so) > > + by 0x........: _dl_catch_error (in /lib/ld-2.3.5.so) > > + by 0x........: dl_main (in /lib/ld-2.3.5.so) > > + by 0x........: _dl_sysdep_start (in /lib/ld-2.3.5.so) > > + by 0x........: _dl_start (in /lib/ld-2.3.5.so) > > Are you still getting this in the current SVN code? If you are then > it will probably need another suppression adding. > > Tom > > -- > Tom Hughes (to...@co...) > http://www.compton.nu/ > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers -- Rich Coe ric...@me... General Electric Healthcare Technologies Global Software Platforms, Computer Technology Team Index: glibc-2.3.supp =================================================================== --- glibc-2.3.supp (revision 4220) +++ glibc-2.3.supp (working copy) @@ -468,3 +468,19 @@ fun:dl_main fun:_dl_sysdep_start } +{ + index-not-intercepted-early-enough-HACK-4 + Memcheck:Cond + fun:index + fun:map_doit + fun:_dl_catch_error + fun:dl_main +} +{ + strlen-not-intercepted-early-enough + Memcheck:Cond + fun:strlen + fun:map_doit + fun:_dl_catch_error + fun:dl_main +} |
|
From: Tom H. <to...@co...> - 2005-08-10 04:08:39
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> - review the thread-modelling stuff, so that at a minimum the
> pthread-API-abuse checks can be reinstated, and, ultimately,
> Helgrind can be fixed up.
The critical issue here is to get the function wrapping stuff working
again, which probably needs some VEX work. I did look at it last week
and the old code relied on the UCode translator to insert calls to the
pre and post function handlers.
Once function wrapping is working enabling the existing thread modelling
should be fairly simple and then we can try and improve it and make it
more robust.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|