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: Julian S. <js...@ac...> - 2005-07-06 21:02:03
|
Reviving this long-dead thread ... I'm looking at reimplementing INT in Valgrind 3. V3 has a completely new JIT compared to Valgrind 2, and INT died in the transition (obviously int $0x80 works, but nothing else). So I'm trying to understand the requirements people have. Chris, you appear to require that execution of int3 causes SIGTRAP to be delivered. Steve, you appear to require that execution of int $0x40 .. $0x43 cause SIGTRAP to be delivered? So I'm inclined to arrange that SIGTRAP is delivered when executing int $anything-other-than-0x80. How does that sound? J |
|
From: <sv...@va...> - 2005-07-06 20:23:19
|
Author: sewardj
Date: 2005-07-06 21:22:16 +0100 (Wed, 06 Jul 2005)
New Revision: 4120
Log:
This is x86 specific; re-home accordingly.
Added:
trunk/none/tests/x86/yield.c
trunk/none/tests/x86/yield.stderr.exp
trunk/none/tests/x86/yield.stdout.exp
trunk/none/tests/x86/yield.vgtest
Removed:
trunk/none/tests/yield.c
trunk/none/tests/yield.stderr.exp
trunk/none/tests/yield.stdout.exp
trunk/none/tests/yield.vgtest
Modified:
trunk/none/tests/Makefile.am
trunk/none/tests/x86/Makefile.am
Modified: trunk/none/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
--- trunk/none/tests/Makefile.am 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/Makefile.am 2005-07-06 20:22:16 UTC (rev 4120)
@@ -96,8 +96,7 @@
threadederrno.stderr.exp threadederrno.stdout.exp \
threadederrno.vgtest \
tls.stderr.exp tls.stdout.exp \
- vgprintf.stderr.exp vgprintf.stdout.exp vgprintf.vgtest \
- yield.stderr.exp yield.stdout.exp yield.vgtest
+ vgprintf.stderr.exp vgprintf.stdout.exp vgprintf.vgtest
=20
check_PROGRAMS =3D \
ansi args as_mmap as_shm \
@@ -117,7 +116,7 @@
shortpush shorts stackgrowth sigstackgrowth susphello \
syscall-restart1 syscall-restart2 system \
thread-exits threaded-fork threadederrno \
- tls tls.so tls2.so yield vgprintf \
+ tls tls.so tls2.so vgprintf \
coolo_sigaction gxx304
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g
@@ -158,8 +157,6 @@
tls_so_CFLAGS =3D -fPIC
tls2_so_SOURCES =3D tls2_so.c
tls2_so_LDFLAGS =3D -shared
-yield_CFLAGS =3D $(AM_CFLAGS) -D__$(VG_ARCH)__
-yield_LDADD =3D -lpthread
=20
# C++ tests
coolo_sigaction_SOURCES =3D coolo_sigaction.cpp
Modified: trunk/none/tests/x86/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/none/tests/x86/Makefile.am 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/x86/Makefile.am 2005-07-06 20:22:16 UTC (rev 4120)
@@ -18,12 +18,13 @@
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
seg_override.stderr.exp seg_override.stdout.exp seg_override.vgtest \
sigcontext.stdout.exp sigcontext.stderr.exp sigcontext.vgtest \
- smc1.stderr.exp smc1.stdout.exp smc1.vgtest
+ smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
+ yield.stderr.exp yield.stdout.exp yield.vgtest
=20
check_PROGRAMS =3D \
badseg bt_everything bt_literal cpuid fpu_lazy_eflags \
getseg $(INSN_TESTS) \
- int pushpopseg seg_override sigcontext smc1
+ int pushpopseg seg_override sigcontext smc1 yield
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
-g -I$(top_srcdir)/include \
@@ -49,6 +50,8 @@
insn_sse_LDADD =3D -lm
insn_sse2_SOURCES =3D insn_sse2.def
insn_sse2_LDADD =3D -lm
+yield_CFLAGS =3D $(AM_CFLAGS) -D__$(VG_ARCH)__
+yield_LDADD =3D -lpthread
=20
.def.c: $(srcdir)/gen_insn_test.pl
$(PERL) $(srcdir)/gen_insn_test.pl < $< > $@
Copied: trunk/none/tests/x86/yield.c (from rev 4114, trunk/none/tests/yie=
ld.c)
Copied: trunk/none/tests/x86/yield.stderr.exp (from rev 4114, trunk/none/=
tests/yield.stderr.exp)
Copied: trunk/none/tests/x86/yield.stdout.exp (from rev 4114, trunk/none/=
tests/yield.stdout.exp)
Copied: trunk/none/tests/x86/yield.vgtest (from rev 4114, trunk/none/test=
s/yield.vgtest)
Deleted: trunk/none/tests/yield.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/none/tests/yield.c 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/yield.c 2005-07-06 20:22:16 UTC (rev 4120)
@@ -1,93 +0,0 @@
-/*=20
- Check that a thread which yields with pause (rep;nop) makes less
- progress against a pure spinner.
- */
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-static pthread_mutex_t m_go =3D PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t c_go =3D PTHREAD_COND_INITIALIZER;
-static pthread_cond_t c_running =3D PTHREAD_COND_INITIALIZER;
-
-static volatile int alive, running;
-
-static int spin;
-static int rep_nop;
-
-static void *spinner(void *v)
-{
- pthread_mutex_lock(&m_go);
- while(!alive)
- pthread_cond_wait(&c_go, &m_go);
- running++;
- pthread_cond_signal(&c_running);
- pthread_mutex_unlock(&m_go);
-
- while(alive)
- spin++;
-
- return 0;
-}
-
-static void *rep_nopper(void *v)
-{
- pthread_mutex_lock(&m_go);
- while(!alive)
- pthread_cond_wait(&c_go, &m_go);
- running++;
- pthread_cond_signal(&c_running);
- pthread_mutex_unlock(&m_go);
-
- while(alive) {
- rep_nop++;
-#ifdef __x86__
- // This gives a hint to a P4, telling it to pause=20
- // (ie. we're in a spin-wait loop)
- asm volatile ("rep; nop" : : : "memory");
-#endif
- }
-
- return 0;
-}
-
-int main()
-{
-#if defined(__powerpc__)
- printf("PASS\n");
-#else
- pthread_t a, b;
-
- pthread_create(&a, NULL, spinner, NULL);
- pthread_create(&b, NULL, rep_nopper, NULL);
-
- /* make sure both threads start at the same time */
- pthread_mutex_lock(&m_go);
- alive =3D 1;
- pthread_cond_broadcast(&c_go);
-
- /* make sure they both get started */
- while(running < 2)
- pthread_cond_wait(&c_running, &m_go);
- pthread_mutex_unlock(&m_go);
-
- sleep(2);
-
- alive =3D 0;
- pthread_join(a, NULL);
- pthread_join(b, NULL);
-
- if (0)
- printf("spin=3D%d rep_nop=3D%d rep_nop:spin ratio: %g\n",=20
- spin, rep_nop, (float)rep_nop / spin);
-
- if (spin > rep_nop)
- printf("PASS\n");
- else
- printf("FAIL spin=3D%d rep_nop=3D%d rep_nop:spin ratio: %g\n",=20
- spin, rep_nop, (float)rep_nop / spin);
-#endif
-
- return 0;
-}
Deleted: trunk/none/tests/yield.stderr.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
--- trunk/none/tests/yield.stderr.exp 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/yield.stderr.exp 2005-07-06 20:22:16 UTC (rev 4120)
@@ -1,2 +0,0 @@
-
-
Deleted: trunk/none/tests/yield.stdout.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
--- trunk/none/tests/yield.stdout.exp 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/yield.stdout.exp 2005-07-06 20:22:16 UTC (rev 4120)
@@ -1 +0,0 @@
-PASS
Deleted: trunk/none/tests/yield.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/yield.vgtest 2005-07-06 20:03:43 UTC (rev 4119)
+++ trunk/none/tests/yield.vgtest 2005-07-06 20:22:16 UTC (rev 4120)
@@ -1 +0,0 @@
-prog: yield
|
|
From: <sv...@va...> - 2005-07-06 20:03:46
|
Author: sewardj
Date: 2005-07-06 21:03:43 +0100 (Wed, 06 Jul 2005)
New Revision: 4119
Log:
smc1 is an x86-specific test; re-home it accordingly. (How did this
one evade detection for so long?)
Added:
trunk/none/tests/x86/smc1.c
trunk/none/tests/x86/smc1.stderr.exp
trunk/none/tests/x86/smc1.stdout.exp
trunk/none/tests/x86/smc1.vgtest
Removed:
trunk/none/tests/smc1.c
trunk/none/tests/smc1.stderr.exp
trunk/none/tests/smc1.stdout.exp
trunk/none/tests/smc1.vgtest
Modified:
trunk/none/tests/Makefile.am
trunk/none/tests/x86/Makefile.am
Modified: trunk/none/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
--- trunk/none/tests/Makefile.am 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/Makefile.am 2005-07-06 20:03:43 UTC (rev 4119)
@@ -87,7 +87,6 @@
shortpush.stderr.exp shortpush.vgtest \
shorts.stderr.exp shorts.vgtest \
sigstackgrowth.stdout.exp sigstackgrowth.stderr.exp sigstackgrowth.vgte=
st \
- smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
stackgrowth.stdout.exp stackgrowth.stderr.exp stackgrowth.vgtest \
syscall-restart1.vgtest syscall-restart1.stdout.exp syscall-restart1.st=
derr.exp \
syscall-restart2.vgtest syscall-restart2.stdout.exp syscall-restart2.st=
derr.exp \
@@ -115,7 +114,7 @@
pth_stackalign \
rcrl readline1 res_search resolv \
rlimit_nofile selfrun sem semlimit sha1_test \
- shortpush shorts stackgrowth sigstackgrowth smc1 susphello \
+ shortpush shorts stackgrowth sigstackgrowth susphello \
syscall-restart1 syscall-restart2 system \
thread-exits threaded-fork threadederrno \
tls tls.so tls2.so yield vgprintf \
Deleted: trunk/none/tests/smc1.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/none/tests/smc1.c 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/smc1.c 2005-07-06 20:03:43 UTC (rev 4119)
@@ -1,77 +0,0 @@
-
-/* Test Heimdall's ability to spot writes to code which has been
- translated, and discard the out-of-date translations.
-
- CORRECT output is
-
- in p 0
- in q 1
- in p 2
- in q 3
- in p 4
- in q 5
- in p 6
- in q 7
- in p 8
- in q 9
-
- WRONG output (if you fail to spot code-writes to code[0 .. 4]) is
-
- in p 0
- in p 1
- in p 2
- in p 3
- in p 4
- in p 5
- in p 6
- in p 7
- in p 8
- in p 9
-*/
-
-#include <stdio.h>
-#include "valgrind.h"
-
-typedef unsigned int Addr;
-typedef unsigned char UChar;
-
-void q ( int n )
-{
- printf("in q %d\n", n);
-}
-
-void p ( int n )
-{
- printf("in p %d\n", n);
-}
-
-UChar code[10];
-
-/* Make `code' be JMP-32 dest */
-void set_dest ( Addr dest )
-{
- unsigned int delta;
- delta =3D dest - ((Addr)(&code[0]));
- delta -=3D 5;
- =20
- code[0] =3D 0xE9; /* JMP d32 */
- code[1] =3D (delta & 0xFF);
- code[2] =3D ((delta >> 8) & 0xFF);
- code[3] =3D ((delta >> 16) & 0xFF);
- code[4] =3D ((delta >> 24) & 0xFF);
-
- /* XXX this should be automatic */
- VALGRIND_DISCARD_TRANSLATIONS(code, sizeof(code));
-}
-
-int main ( void )
-{
- int i;
- for (i =3D 0; i < 10; i +=3D 2) {
- set_dest ( (Addr)&p );
- ( (void (*)(int)) (&code[0]) ) (i);
- set_dest ( (Addr)&q );
- ( (void (*)(int)) (&code[0]) ) (i+1);
- }
- return 0;
-}
Deleted: trunk/none/tests/smc1.stderr.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
--- trunk/none/tests/smc1.stderr.exp 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/smc1.stderr.exp 2005-07-06 20:03:43 UTC (rev 4119)
@@ -1,2 +0,0 @@
-
-
Deleted: trunk/none/tests/smc1.stdout.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
--- trunk/none/tests/smc1.stdout.exp 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/smc1.stdout.exp 2005-07-06 20:03:43 UTC (rev 4119)
@@ -1,10 +0,0 @@
-in p 0
-in q 1
-in p 2
-in q 3
-in p 4
-in q 5
-in p 6
-in q 7
-in p 8
-in q 9
Deleted: trunk/none/tests/smc1.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/smc1.vgtest 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/smc1.vgtest 2005-07-06 20:03:43 UTC (rev 4119)
@@ -1 +0,0 @@
-prog: smc1
Modified: trunk/none/tests/x86/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/none/tests/x86/Makefile.am 2005-07-06 19:46:48 UTC (rev 4118)
+++ trunk/none/tests/x86/Makefile.am 2005-07-06 20:03:43 UTC (rev 4119)
@@ -17,12 +17,13 @@
$(addsuffix .vgtest,$(INSN_TESTS)) \
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
seg_override.stderr.exp seg_override.stdout.exp seg_override.vgtest \
- sigcontext.stdout.exp sigcontext.stderr.exp sigcontext.vgtest
+ sigcontext.stdout.exp sigcontext.stderr.exp sigcontext.vgtest \
+ smc1.stderr.exp smc1.stdout.exp smc1.vgtest
=20
check_PROGRAMS =3D \
badseg bt_everything bt_literal cpuid fpu_lazy_eflags \
getseg $(INSN_TESTS) \
- int pushpopseg seg_override sigcontext
+ int pushpopseg seg_override sigcontext smc1
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
-g -I$(top_srcdir)/include \
Copied: trunk/none/tests/x86/smc1.c (from rev 4114, trunk/none/tests/smc1=
.c)
Copied: trunk/none/tests/x86/smc1.stderr.exp (from rev 4114, trunk/none/t=
ests/smc1.stderr.exp)
Copied: trunk/none/tests/x86/smc1.stdout.exp (from rev 4114, trunk/none/t=
ests/smc1.stdout.exp)
Copied: trunk/none/tests/x86/smc1.vgtest (from rev 4114, trunk/none/tests=
/smc1.vgtest)
|
|
From: <sv...@va...> - 2005-07-06 19:46:49
|
Author: sewardj
Date: 2005-07-06 20:46:48 +0100 (Wed, 06 Jul 2005)
New Revision: 4118
Log:
--time-stamp=3Dyes is incompatible with --xml=3Dyes, at least for the mom=
ent.
Modified:
trunk/coregrind/m_main.c
Modified: trunk/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
--- trunk/coregrind/m_main.c 2005-07-06 19:42:23 UTC (rev 4117)
+++ trunk/coregrind/m_main.c 2005-07-06 19:46:48 UTC (rev 4118)
@@ -1657,6 +1657,8 @@
VG_(clo_wait_for_gdb) =3D False;
/* No file-descriptor leak checking yet */
VG_(clo_track_fds) =3D False;
+ /* Disable timestamped output */
+ VG_(clo_time_stamp) =3D False;
/* Also, we want to set options for the leak checker, but that
will have to be done in Memcheck's flag-handling code, not
here. */
|
|
From: <sv...@va...> - 2005-07-06 19:42:25
|
Author: sewardj
Date: 2005-07-06 20:42:23 +0100 (Wed, 06 Jul 2005)
New Revision: 4117
Log:
Scan the entire BB looking for "bogus literals"* before instrumenting
any of it, so as to avoid any problems arising from switching from one
scheme to the other half-way through.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_translate.c 2005-07-06 19:01:53 UTC (rev 4116)
+++ trunk/memcheck/mc_translate.c 2005-07-06 19:42:23 UTC (rev 4117)
@@ -2636,8 +2636,8 @@
IRBB* MC_(instrument) ( IRBB* bb_in, VexGuestLayout* layout,=20
IRType gWordTy, IRType hWordTy )
{
- Bool verboze =3D False; //True;=20
-
+ Bool verboze =3D False; //True;=20
+ Bool bogus;
Int i, j, first_stmt;
IRStmt* st;
MCEnv mce;
@@ -2673,23 +2673,38 @@
for (i =3D 0; i < mce.n_originalTmps; i++)
mce.tmpMap[i] =3D IRTemp_INVALID;
=20
- /* Iterate over the stmts. */
+ /* Make a preliminary inspection of the statements, to see if there
+ are any dodgy-looking literals. If there are, we generate
+ extra-detailed (hence extra-expensive) instrumentation in
+ places. Scan the whole bb even if dodgyness is found earlier,
+ so that the flatness assertion is applied to all stmts. */
=20
+ bogus =3D False;
+
for (i =3D 0; i < bb_in->stmts_used; i++) {
+
st =3D bb_in->stmts[i];
tl_assert(st);
-
tl_assert(isFlatIRStmt(st));
=20
- if (!mce.bogusLiterals) {
- mce.bogusLiterals =3D checkForBogusLiterals(st);
- if (0&& mce.bogusLiterals) {
+ if (!bogus) {
+ bogus =3D checkForBogusLiterals(st);
+ if (0 && bogus) {
VG_(printf)("bogus: ");
ppIRStmt(st);
VG_(printf)("\n");
}
}
=20
+ }
+
+ mce.bogusLiterals =3D bogus;
+
+ /* Iterate over the stmts to generate instrumentation. */
+
+ for (i =3D 0; i < bb_in->stmts_used; i++) {
+
+ st =3D bb_in->stmts[i];
first_stmt =3D bb->stmts_used;
=20
if (verboze) {
|
|
From: <sv...@va...> - 2005-07-06 19:02:06
|
Author: sewardj
Date: 2005-07-06 20:01:53 +0100 (Wed, 06 Jul 2005)
New Revision: 4116
Log:
Add a regression test for memcheck's ability do deal with partially
defined operands in equality comparisons.
Added:
trunk/memcheck/tests/partiallydefinedeq.c
trunk/memcheck/tests/partiallydefinedeq.stderr.exp
trunk/memcheck/tests/partiallydefinedeq.stdout.exp
trunk/memcheck/tests/partiallydefinedeq.vgtest
Modified:
trunk/memcheck/tests/Makefile.am
Modified: trunk/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
--- trunk/memcheck/tests/Makefile.am 2005-07-06 18:48:59 UTC (rev 4115)
+++ trunk/memcheck/tests/Makefile.am 2005-07-06 19:01:53 UTC (rev 4116)
@@ -59,6 +59,8 @@
new_override.stderr.exp new_override.stdout.exp new_override.vgtest \
null_socket.stderr.exp null_socket.vgtest \
overlap.stderr.exp overlap.stdout.exp overlap.vgtest \
+ partiallydefinedeq.vgtest partiallydefinedeq.stderr.exp \
+ partiallydefinedeq.stdout.exp \
pointer-trace.vgtest \
pointer-trace.stderr.exp pointer-trace.stderr.exp64 \
post-syscall.stderr.exp post-syscall.stdout.exp post-syscall.vgtest \
@@ -101,6 +103,7 @@
memalign_test memalign2 memcmptest mempool mmaptest \
nanoleak new_nothrow \
null_socket overlap \
+ partiallydefinedeq \
pointer-trace \
post-syscall \
realloc1 realloc2 realloc3 \
Added: trunk/memcheck/tests/partiallydefinedeq.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/partiallydefinedeq.c 2005-07-06 18:48:59 UTC (re=
v 4115)
+++ trunk/memcheck/tests/partiallydefinedeq.c 2005-07-06 19:01:53 UTC (re=
v 4116)
@@ -0,0 +1,55 @@
+
+#include <stdio.h>
+#include <malloc.h>
+
+// Do a test comparison. By default memcheck does not use the
+// expensive EQ/NE scheme as it would be too expensive. The=20
+// assignment to *hack is a trick to fool memcheck's bogus-literal
+// spotter into thinking this is a bb which needs unusually careful
+// attention, and therefore the expensive EQ/NE scheme is used.
+
+__attribute__((noinline)) // keep your grubby hands off this fn
+void foo ( int* p1, int* p2, unsigned int * hack )
+{
+ *hack =3D 0x80808080;
+ if (*p1 =3D=3D *p2)
+ printf("foo\n");
+ else
+ printf("bar\n");
+}
+
+
+int main ( void )
+{
+
+ unsigned int hack;
+
+ int* junk1 =3D malloc(sizeof(int));
+ int* junk2 =3D malloc(sizeof(int));
+
+ short* ps1 =3D (short*)junk1;
+ short* ps2 =3D (short*)junk2;
+
+ int* pi1 =3D (int*)junk1;
+ int* pi2 =3D (int*)junk2;
+
+ // both words completely undefined. This should give an error.
+ foo(pi1,pi2, &hack);
+
+ // set half of the words, but to different values; so this should
+ // not give an error, since inspection of the defined parts=20
+ // shows the two values are not equal, and so the definedness of
+ // the conclusion is unaffected by the undefined halves.
+ *ps1 =3D 41;
+ *ps2 =3D 42;
+ foo(pi1,pi2, &hack);
+
+ // set half of the words, but to the same value, so this forces the
+ // result of the comparison to depend on the undefined halves.
+ // should give an error
+ *ps1 =3D 42;
+ *ps2 =3D 42;
+ foo(pi1,pi2, &hack);
+
+ return 0;
+}
Added: trunk/memcheck/tests/partiallydefinedeq.stderr.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
--- trunk/memcheck/tests/partiallydefinedeq.stderr.exp 2005-07-06 18:48:5=
9 UTC (rev 4115)
+++ trunk/memcheck/tests/partiallydefinedeq.stderr.exp 2005-07-06 19:01:5=
3 UTC (rev 4116)
@@ -0,0 +1,14 @@
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: foo (partiallydefinedeq.c:15)
+ by 0x........: main (partiallydefinedeq.c:37)
+
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: foo (partiallydefinedeq.c:15)
+ by 0x........: main (partiallydefinedeq.c:52)
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+malloc/free: in use at exit: 8 bytes in 2 blocks.
+malloc/free: 2 allocs, 0 frees, 8 bytes allocated.
+For a detailed leak analysis, rerun with: --leak-check=3Dyes
+For counts of detected errors, rerun with: -v
Added: trunk/memcheck/tests/partiallydefinedeq.stdout.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
--- trunk/memcheck/tests/partiallydefinedeq.stdout.exp 2005-07-06 18:48:5=
9 UTC (rev 4115)
+++ trunk/memcheck/tests/partiallydefinedeq.stdout.exp 2005-07-06 19:01:5=
3 UTC (rev 4116)
@@ -0,0 +1,3 @@
+foo
+bar
+foo
Added: trunk/memcheck/tests/partiallydefinedeq.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/partiallydefinedeq.vgtest 2005-07-06 18:48:59 UT=
C (rev 4115)
+++ trunk/memcheck/tests/partiallydefinedeq.vgtest 2005-07-06 19:01:53 UT=
C (rev 4116)
@@ -0,0 +1 @@
+prog: partiallydefinedeq
|
|
From: <sv...@va...> - 2005-07-06 18:49:22
|
Author: sewardj
Date: 2005-07-06 19:48:59 +0100 (Wed, 06 Jul 2005)
New Revision: 4115
Log:
Extensively re-analyse, re-check and revise the scheme for expensive
handling of integer EQ/NE, which can sometimes do better than the
naive scheme when the inputs are partially defined. I never was
convinced it was correct before, but now I am. Regtest to follow.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_translate.c 2005-07-06 13:19:11 UTC (rev 4114)
+++ trunk/memcheck/mc_translate.c 2005-07-06 18:48:59 UTC (rev 4115)
@@ -563,23 +563,44 @@
The result is:
=20
PCastTo<1> (
- PCastTo<sz>( UifU<sz>(vxx, vyy) ) -- naive version
+ -- naive version
+ PCastTo<sz>( UifU<sz>(vxx, vyy) )
+
`DifD<sz>`
- PCastTo<sz>( CmpEQ<sz>( vec, 1....1 ) ) -- improvement term
+
+ -- improvement term
+ PCastTo<sz>( PCast<sz>( CmpEQ<sz> ( vec, 1...1 ) ) )
)
+
where
vec contains 0 (defined) bits where the corresponding arg bits=20
- are defined but different, and 1 bits otherwise:
+ are defined but different, and 1 bits otherwise.
=20
- vec =3D UifU<sz>( vxx, vyy, Not<sz>(Xor<sz>( xx, yy )) )
+ vec =3D Or<sz>( vxx, // 0 iff bit defined
+ vyy, // 0 iff bit defined
+ Not<sz>(Xor<sz>( xx, yy )) // 0 iff bits different
+ )
+ =20
+ If any bit of vec is 0, the result is defined and so the=20
+ improvement term should produce 0...0, else it should produce
+ 1...1.
+
+ Hence require for the improvement term:
+
+ if vec =3D=3D 1...1 then 1...1 else 0...0
+ ->
+ PCast<sz>( CmpEQ<sz> ( vec, 1...1 ) )
+
+ This was extensively re-analysed and checked on 6 July 05.
*/
static IRAtom* expensiveCmpEQorNE ( MCEnv* mce,
IRType ty,
IRAtom* vxx, IRAtom* vyy,=20
IRAtom* xx, IRAtom* yy )
{
- IRAtom *naive, *vec, *vec_cmpd, *improved, *final_cast, *top;
- IROp opDIFD, opUIFU, opXOR, opNOT, opCMP;
+ IRAtom *naive, *vec, *improvement_term;
+ IRAtom *improved, *final_cast, *top;
+ IROp opDIFD, opUIFU, opXOR, opNOT, opCMP, opOR;
=20
tl_assert(isShadowAtom(mce,vxx));
tl_assert(isShadowAtom(mce,vyy));
@@ -590,6 +611,7 @@
=20
switch (ty) {
case Ity_I32:
+ opOR =3D Iop_Or32;
opDIFD =3D Iop_And32;
opUIFU =3D Iop_Or32;
opNOT =3D Iop_Not32;
@@ -598,6 +620,7 @@
top =3D mkU32(0xFFFFFFFF);
break;
case Ity_I64:
+ opOR =3D Iop_Or64;
opDIFD =3D Iop_And64;
opUIFU =3D Iop_Or64;
opNOT =3D Iop_Not64;
@@ -615,18 +638,18 @@
vec=20
=3D assignNew(
mce,ty,=20
- binop( opUIFU,
- assignNew(mce,ty, binop(opUIFU, vxx, vyy)),
+ binop( opOR,
+ assignNew(mce,ty, binop(opOR, vxx, vyy)),
assignNew(
mce,ty,=20
unop( opNOT,
assignNew(mce,ty, binop(opXOR, xx, yy))))));
=20
- vec_cmpd
+ improvement_term
=3D mkPCastTo( mce,ty, assignNew(mce,Ity_I1, binop(opCMP, vec, top=
)));
=20
improved
- =3D assignNew( mce,ty, binop(opDIFD, naive, vec_cmpd) );
+ =3D assignNew( mce,ty, binop(opDIFD, naive, improvement_term) );
=20
final_cast
=3D mkPCastTo( mce, Ity_I1, improved );
@@ -1685,7 +1708,6 @@
case Iop_Mul32:
return mkLeft32(mce, mkUifU32(mce, vatom1,vatom2));
=20
- /* could do better: Add64, Sub64 */
case Iop_Add64:
if (mce->bogusLiterals)
return expensiveAddSub(mce,True,Ity_I64,=20
@@ -1713,6 +1735,7 @@
return mkLeft8(mce, mkUifU8(mce, vatom1,vatom2));
=20
case Iop_CmpEQ64:=20
+ case Iop_CmpNE64:
if (mce->bogusLiterals)
return expensiveCmpEQorNE(mce,Ity_I64, vatom1,vatom2, atom1,=
atom2 );
else
@@ -1720,10 +1743,10 @@
cheap_cmp64:
case Iop_CmpLE64S: case Iop_CmpLE64U:=20
case Iop_CmpLT64U: case Iop_CmpLT64S:
- case Iop_CmpNE64:
return mkPCastTo(mce, Ity_I1, mkUifU64(mce, vatom1,vatom2));
=20
case Iop_CmpEQ32:=20
+ case Iop_CmpNE32:
if (mce->bogusLiterals)
return expensiveCmpEQorNE(mce,Ity_I32, vatom1,vatom2, atom1,=
atom2 );
else
@@ -1731,7 +1754,6 @@
cheap_cmp32:
case Iop_CmpLE32S: case Iop_CmpLE32U:=20
case Iop_CmpLT32U: case Iop_CmpLT32S:
- case Iop_CmpNE32:
return mkPCastTo(mce, Ity_I1, mkUifU32(mce, vatom1,vatom2));
=20
case Iop_CmpEQ16: case Iop_CmpNE16:
|
|
From: Julian S. <js...@ac...> - 2005-07-06 14:56:43
|
> With the "#ifdef __x86__" it only applies to x86 and should probably be > moved into none/tests/x86/. Will do. Notionally this also applies to amd64, but I guess I could duplicate it. smc1 (I realised eventually) is also x86 specific; but only realised this after getting nonsensical results from it on ppc32 :-) I'll deal with that too. I've figured out the least worst way to implement INT on x86 so I'll do that soon too. J |
|
From: <sv...@va...> - 2005-07-06 13:19:21
|
Author: njn
Date: 2005-07-06 14:19:11 +0100 (Wed, 06 Jul 2005)
New Revision: 4114
Log:
Rename VG_(get_obj)() as VG_(find_seginfo) to be more consistent
with the other function names.
Modified:
trunk/coregrind/m_debuginfo/symtab.c
trunk/include/pub_tool_debuginfo.h
Modified: trunk/coregrind/m_debuginfo/symtab.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_debuginfo/symtab.c 2005-07-06 08:38:19 UTC (rev 411=
3)
+++ trunk/coregrind/m_debuginfo/symtab.c 2005-07-06 13:19:11 UTC (rev 411=
4)
@@ -2020,7 +2020,7 @@
=20
/* Map a code address to its SegInfo. Returns NULL if not found. Doesn=
't
require debug info. */
-SegInfo* VG_(get_obj) ( Addr a )
+SegInfo* VG_(find_seginfo) ( Addr a )
{
SegInfo* si;
=20
Modified: trunk/include/pub_tool_debuginfo.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_debuginfo.h 2005-07-06 08:38:19 UTC (rev 4113)
+++ trunk/include/pub_tool_debuginfo.h 2005-07-06 13:19:11 UTC (rev 4114)
@@ -100,7 +100,7 @@
=20
/* Returns NULL if the SegInfo isn't found. It doesn't matter if debug =
info
is present or not. */
-extern SegInfo* VG_(get_obj) ( Addr a );
+extern SegInfo* VG_(find_seginfo) ( Addr a );
=20
extern const SegInfo* VG_(next_seginfo) ( const SegInfo *si );
extern Addr VG_(seginfo_start) ( const SegInfo *si );
|
|
From: Nicholas N. <nj...@cs...> - 2005-07-06 13:02:34
|
On Wed, 6 Jul 2005, sv...@va... wrote: > Log: > This test is nonsensical for ppc; it only applies to x86 and amd64. With the "#ifdef __x86__" it only applies to x86 and should probably be moved into none/tests/x86/. N |
|
From: <js...@ac...> - 2005-07-06 08:44:36
|
Nightly build on g5 ( YDL 4.0, ppc970 ) started at 2005-07-06 10:40:00 CEST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 153 tests, 101 stderr failures, 37 stdout failures ================= memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/erringfds (stdout) memcheck/tests/erringfds (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stdout) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stdout) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/strchr (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stdout) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/xml1 (stdout) memcheck/tests/xml1 (stderr) memcheck/tests/zeropage (stdout) memcheck/tests/zeropage (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stdout) cachegrind/tests/dlclose (stderr) massif/tests/toobig-allocs (stderr) massif/tests/true_html (stderr) massif/tests/true_text (stderr) none/tests/async-sigs (stdout) none/tests/async-sigs (stderr) none/tests/blockfault (stderr) none/tests/coolo_sigaction (stdout) none/tests/coolo_sigaction (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_creat (stderr) none/tests/fdleak_dup (stderr) none/tests/fdleak_dup2 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/fdleak_ipv4 (stdout) none/tests/fdleak_ipv4 (stderr) none/tests/fdleak_open (stderr) none/tests/fdleak_pipe (stderr) none/tests/fdleak_socketpair (stderr) none/tests/pending (stdout) none/tests/pending (stderr) none/tests/pth_atfork1 (stdout) none/tests/pth_atfork1 (stderr) none/tests/pth_blockedsig (stdout) none/tests/pth_blockedsig (stderr) none/tests/pth_cancel1 (stdout) none/tests/pth_cancel1 (stderr) none/tests/pth_cvsimple (stdout) none/tests/pth_once (stdout) none/tests/pth_once (stderr) none/tests/pth_stackalign (stdout) none/tests/pth_stackalign (stderr) none/tests/res_search (stdout) none/tests/sigstackgrowth (stdout) none/tests/sigstackgrowth (stderr) none/tests/smc1 (stdout) none/tests/smc1 (stderr) none/tests/syscall-restart1 (stderr) none/tests/syscall-restart2 (stderr) none/tests/system (stderr) none/tests/thread-exits (stdout) none/tests/thread-exits (stderr) none/tests/threadederrno (stdout) none/tests/tls (stdout) none/tests/tls (stderr) |
|
From: <sv...@va...> - 2005-07-06 08:39:11
|
Author: sewardj
Date: 2005-07-06 09:38:19 +0100 (Wed, 06 Jul 2005)
New Revision: 4113
Log:
This test is nonsensical for ppc; it only applies to x86 and amd64.
Modified:
trunk/none/tests/yield.c
Modified: trunk/none/tests/yield.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/none/tests/yield.c 2005-07-06 08:17:07 UTC (rev 4112)
+++ trunk/none/tests/yield.c 2005-07-06 08:38:19 UTC (rev 4113)
@@ -54,6 +54,9 @@
=20
int main()
{
+#if defined(__powerpc__)
+ printf("PASS\n");
+#else
pthread_t a, b;
=20
pthread_create(&a, NULL, spinner, NULL);
@@ -84,6 +87,7 @@
else
printf("FAIL spin=3D%d rep_nop=3D%d rep_nop:spin ratio: %g\n",=20
spin, rep_nop, (float)rep_nop / spin);
+#endif
=20
return 0;
}
|
|
From: <sv...@va...> - 2005-07-06 08:17:13
|
Author: tom Date: 2005-07-06 09:17:07 +0100 (Wed, 06 Jul 2005) New Revision: 4112 Log: Define the system call numbers for pread64 and pwrite64. Modified: trunk/coregrind/vki_unistd-ppc32-linux.h Modified: trunk/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 --- trunk/coregrind/vki_unistd-ppc32-linux.h 2005-07-05 23:34:44 UTC (rev= 4111) +++ trunk/coregrind/vki_unistd-ppc32-linux.h 2005-07-06 08:17:07 UTC (rev= 4112) @@ -208,8 +208,8 @@ #define __NR_rt_sigtimedwait 176 //#define __NR_rt_sigqueueinfo 177 //#define __NR_rt_sigsuspend 178 -//#define __NR_pread64 179 -//#define __NR_pwrite64 180 +#define __NR_pread64 179 +#define __NR_pwrite64 180 #define __NR_chown 181 #define __NR_getcwd 182 //#define __NR_capget 183 |
|
From: <js...@ac...> - 2005-07-06 08:07:02
|
Nightly build on g5 ( YellowDog 4.0 ) started at 2005-07-06 10:05:02 CEST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of log.verbose follow if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../.. -I../../coregrind/ppc32 -I../../coregrind/linux -I../../coregrind/ppc32-linux -I../../include -I/home/sewardj/Nightly/vex/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -Wmissing-prototypes -Winline -Wall -Wshadow -O -g -Wno-long-long -MT syswrap-ppc32-linux.o -MD -MP -MF ".deps/syswrap-ppc32-linux.Tpo" -c -o syswrap-ppc32-linux.o syswrap-ppc32-linux.c; \ then mv -f ".deps/syswrap-ppc32-linux.Tpo" ".deps/syswrap-ppc32-linux.Po"; else rm -f ".deps/syswrap-ppc32-linux.Tpo"; exit 1; fi syswrap-ppc32-linux.c:460:2: warning: #warning "fixme: need to clear simulated CR0.SO" syswrap-ppc32-linux.c:572:2: warning: #warning "Do we need all this LDT/GDT garbage on ppc32? Surely not." syswrap-ppc32-linux.c:1450:2: warning: #warning "Is this next check relevant/needed?" syswrap-ppc32-linux.c:2135: error: `__NR_pread64' undeclared here (not in a function) syswrap-ppc32-linux.c:2135: error: nonconstant array index in initializer syswrap-ppc32-linux.c:2135: error: (near initialization for `vgModuleLocal_syscall_table') syswrap-ppc32-linux.c:2136: error: `__NR_pwrite64' undeclared here (not in a function) syswrap-ppc32-linux.c:2136: error: nonconstant array index in initializer syswrap-ppc32-linux.c:2136: error: (near initialization for `vgModuleLocal_syscall_table') make[4]: *** [syswrap-ppc32-linux.o] Error 1 make[4]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind/m_syswrap' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/sewardj/Nightly/valgrind' make: *** [all] Error 2 |
|
From: Tom H. <th...@cy...> - 2005-07-06 03:00:56
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-07-06 03:25:02 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 178 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_cancel1 (stdout) none/tests/pth_cancel1 (stderr) none/tests/pth_cancel2 (stderr) none/tests/x86/int (stderr) |
|
From: <js...@ac...> - 2005-07-06 02:39:42
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-07-06 03:30:00 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 176 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <to...@co...> - 2005-07-06 02:35:42
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-07-06 03:30:04 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 178 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-07-06 02:20:55
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-07-06 03:15:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 177 tests, 13 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/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-07-06 02:14:47
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-07-06 03:10:07 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 157 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-07-06 02:11:31
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-07-06 03:05:09 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 157 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-07-06 02:04:11
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-07-06 03:00:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 157 tests, 8 stderr failures, 0 stdout failures ================= memcheck/tests/sigaltstack (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) |