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
(17) |
2
(11) |
3
(6) |
4
(6) |
|
5
(10) |
6
(5) |
7
(3) |
8
(7) |
9
(4) |
10
(4) |
11
(3) |
|
12
(3) |
13
(17) |
14
(18) |
15
(32) |
16
(22) |
17
(18) |
18
(10) |
|
19
(4) |
20
(3) |
21
(8) |
22
(15) |
23
(32) |
24
(28) |
25
(18) |
|
26
(20) |
27
(16) |
28
(28) |
29
(28) |
30
(27) |
|
|
|
From: <sv...@va...> - 2009-04-24 07:31:36
|
Author: njn
Date: 2009-04-24 08:31:32 +0100 (Fri, 24 Apr 2009)
New Revision: 9607
Log:
Fix some incorrect syscall wrapper strings.
Modified:
branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-04-24 07:24:05 UTC (rev 9606)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-04-24 07:31:32 UTC (rev 9607)
@@ -2242,16 +2242,16 @@
struct itimerval *, value, struct itimerval *, ovalue);
if (ARG2 != (Addr)NULL) {
struct vki_itimerval *value = (struct vki_itimerval*)ARG2;
- PRE_timeval_READ( "getitimer(value->it_interval)",
+ PRE_timeval_READ( "setitimer(value->it_interval)",
&(value->it_interval));
- PRE_timeval_READ( "getitimer(value->it_value)",
+ PRE_timeval_READ( "setitimer(value->it_value)",
&(value->it_value));
}
if (ARG3 != (Addr)NULL) {
struct vki_itimerval *ovalue = (struct vki_itimerval*)ARG3;
- PRE_timeval_WRITE( "getitimer(ovalue->it_interval)",
+ PRE_timeval_WRITE( "setitimer(ovalue->it_interval)",
&(ovalue->it_interval));
- PRE_timeval_WRITE( "getitimer(ovalue->it_value)",
+ PRE_timeval_WRITE( "setitimer(ovalue->it_value)",
&(ovalue->it_value));
}
}
|
|
From: <sv...@va...> - 2009-04-24 07:24:11
|
Author: njn Date: 2009-04-24 08:24:05 +0100 (Fri, 24 Apr 2009) New Revision: 9606 Log: Merge r9605 (make tronical work on Darwin) from the DARWIN branch. Modified: trunk/memcheck/tests/x86/Makefile.am trunk/memcheck/tests/x86/tronical.S Modified: trunk/memcheck/tests/x86/Makefile.am =================================================================== --- trunk/memcheck/tests/x86/Makefile.am 2009-04-24 07:14:38 UTC (rev 9605) +++ trunk/memcheck/tests/x86/Makefile.am 2009-04-24 07:24:05 UTC (rev 9606) @@ -30,15 +30,15 @@ espindola2 \ int3-x86 \ fpeflags \ - fprem \ - fxsave \ + fprem \ + fxsave \ more_x86_fp \ - pushfpopf \ + pushfpopf \ pushfw_x86 \ pushpopmem \ - sse_memory \ - tronical \ - xor-undef-x86 + sse_memory \ + tronical \ + xor-undef-x86 AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) Modified: trunk/memcheck/tests/x86/tronical.S =================================================================== --- trunk/memcheck/tests/x86/tronical.S 2009-04-24 07:14:38 UTC (rev 9605) +++ trunk/memcheck/tests/x86/tronical.S 2009-04-24 07:24:05 UTC (rev 9606) @@ -49,13 +49,14 @@ */ +#include "tests/asm.h" + .file "tronical.c" .version "01.01" gcc2_compiled.: .text .align 4 .globl set - .type set,@function set: pushl %ebp movl foo, %eax @@ -64,14 +65,11 @@ popl %ebp ret .Lfe1: - .size set,.Lfe1-set - .section .rodata .LC0: - .string "blieb\n" + .ascii "blieb\n" .text .align 4 .globl get - .type get,@function get: pushl %ebp movl %esp, %ebp @@ -81,22 +79,20 @@ js .L4 subl $12, %esp pushl $.LC0 - call printf + call VG_SYM_ASM(printf) addl $16, %esp .L4: leave ret .Lfe2: - .size get,.Lfe2-get .align 4 -.globl main - .type main,@function -main: +.globl VG_SYM_ASM(main) +VG_SYM_ASM(main): pushl %ebp movl %esp, %ebp subl $20, %esp pushl $4 - call malloc + call VG_SYM_ASM(malloc) movl %eax, foo call set call get @@ -104,6 +100,5 @@ leave ret .Lfe3: - .size main,.Lfe3-main .comm foo,4,4 .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" |
|
From: <sv...@va...> - 2009-04-24 07:14:44
|
Author: njn
Date: 2009-04-24 08:14:38 +0100 (Fri, 24 Apr 2009)
New Revision: 9605
Log:
Make tronical build and run on Darwin. Unfortunately it doesn't pass
because of some bogus output about UUIDs.
Modified:
branches/DARWIN/memcheck/tests/x86/Makefile.am
branches/DARWIN/memcheck/tests/x86/tronical.S
Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-24 07:12:39 UTC (rev 9604)
+++ branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-24 07:14:38 UTC (rev 9605)
@@ -34,6 +34,7 @@
pushfw_x86 \
pushpopmem \
sse_memory \
+ tronical \
xor-undef-x86
# DDD: not sure if these ones should work on Darwin or not... if not, should
@@ -42,8 +43,7 @@
check_PROGRAMS += \
int3-x86 \
more_x86_fp \
- pushfpopf \
- tronical
+ pushfpopf
endif
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
Modified: branches/DARWIN/memcheck/tests/x86/tronical.S
===================================================================
--- branches/DARWIN/memcheck/tests/x86/tronical.S 2009-04-24 07:12:39 UTC (rev 9604)
+++ branches/DARWIN/memcheck/tests/x86/tronical.S 2009-04-24 07:14:38 UTC (rev 9605)
@@ -49,13 +49,14 @@
*/
+#include "tests/asm.h"
+
.file "tronical.c"
.version "01.01"
gcc2_compiled.:
.text
.align 4
.globl set
- .type set,@function
set:
pushl %ebp
movl foo, %eax
@@ -64,14 +65,11 @@
popl %ebp
ret
.Lfe1:
- .size set,.Lfe1-set
- .section .rodata
.LC0:
- .string "blieb\n"
+ .ascii "blieb\n"
.text
.align 4
.globl get
- .type get,@function
get:
pushl %ebp
movl %esp, %ebp
@@ -81,22 +79,20 @@
js .L4
subl $12, %esp
pushl $.LC0
- call printf
+ call VG_SYM_ASM(printf)
addl $16, %esp
.L4:
leave
ret
.Lfe2:
- .size get,.Lfe2-get
.align 4
-.globl main
- .type main,@function
-main:
+.globl VG_SYM_ASM(main)
+VG_SYM_ASM(main):
pushl %ebp
movl %esp, %ebp
subl $20, %esp
pushl $4
- call malloc
+ call VG_SYM_ASM(malloc)
movl %eax, foo
call set
call get
@@ -104,6 +100,5 @@
leave
ret
.Lfe3:
- .size main,.Lfe3-main
.comm foo,4,4
.ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
|
|
From: <sv...@va...> - 2009-04-24 07:12:42
|
Author: njn
Date: 2009-04-24 08:12:39 +0100 (Fri, 24 Apr 2009)
New Revision: 9604
Log:
Merged r9602 and r9603 (make cpuid pass on Darwin, rename .s files to .S)
from the DARWIN branch.
Added:
trunk/memcheck/tests/x86/pushfpopf_s.S
trunk/none/tests/x86/cpuid_s.S
Removed:
trunk/memcheck/tests/x86/pushfpopf_s.s
trunk/none/tests/x86/cpuid_s.s
Modified:
trunk/cachegrind/tests/x86/Makefile.am
trunk/memcheck/tests/x86/Makefile.am
trunk/none/tests/x86/Makefile.am
Modified: trunk/cachegrind/tests/x86/Makefile.am
===================================================================
--- trunk/cachegrind/tests/x86/Makefile.am 2009-04-24 07:00:11 UTC (rev 9603)
+++ trunk/cachegrind/tests/x86/Makefile.am 2009-04-24 07:12:39 UTC (rev 9604)
@@ -12,6 +12,6 @@
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
-AM_CCASFLAGS = @FLAG_M32@
+AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M32@
fpu_28_108_SOURCES = fpu-28-108.S
Modified: trunk/memcheck/tests/x86/Makefile.am
===================================================================
--- trunk/memcheck/tests/x86/Makefile.am 2009-04-24 07:00:11 UTC (rev 9603)
+++ trunk/memcheck/tests/x86/Makefile.am 2009-04-24 07:12:39 UTC (rev 9604)
@@ -46,7 +46,7 @@
# must be built with these flags -- bug only occurred with them
fpeflags_CFLAGS = $(AM_CFLAGS) -march=i686
-pushfpopf_SOURCES = pushfpopf_c.c pushfpopf_s.s
+pushfpopf_SOURCES = pushfpopf_c.c pushfpopf_s.S
tronical_SOURCES = tronical.S
more_x86_fp_LDADD = -lm
Copied: trunk/memcheck/tests/x86/pushfpopf_s.S (from rev 9603, branches/DARWIN/memcheck/tests/x86/pushfpopf_s.S)
===================================================================
--- trunk/memcheck/tests/x86/pushfpopf_s.S (rev 0)
+++ trunk/memcheck/tests/x86/pushfpopf_s.S 2009-04-24 07:12:39 UTC (rev 9604)
@@ -0,0 +1,41 @@
+ .file "twoparams.c"
+ .version "01.01"
+gcc2_compiled.:
+.text
+ .align 4
+.globl fooble
+ .type fooble,@function
+fooble:
+ pushl %ebp
+ movl %esp, %ebp
+ movl 8(%ebp), %eax
+
+ subl 12(%ebp), %eax
+ # flags are now undef if either operand is
+ # save possibly undef flags on stack
+ pushfl
+
+ movl $0, %eax
+ addl $0, %eax
+ # flags are now definitely defined
+
+ 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
+
+ # 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
+labelz:
+ movl $33, %eax
+theend:
+ popl %ebp
+ ret
+.Lfe1:
+ .size fooble,.Lfe1-fooble
+ .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
Deleted: trunk/memcheck/tests/x86/pushfpopf_s.s
===================================================================
--- trunk/memcheck/tests/x86/pushfpopf_s.s 2009-04-24 07:00:11 UTC (rev 9603)
+++ trunk/memcheck/tests/x86/pushfpopf_s.s 2009-04-24 07:12:39 UTC (rev 9604)
@@ -1,41 +0,0 @@
- .file "twoparams.c"
- .version "01.01"
-gcc2_compiled.:
-.text
- .align 4
-.globl fooble
- .type fooble,@function
-fooble:
- pushl %ebp
- movl %esp, %ebp
- movl 8(%ebp), %eax
-
- subl 12(%ebp), %eax
- # flags are now undef if either operand is
- # save possibly undef flags on stack
- pushfl
-
- movl $0, %eax
- addl $0, %eax
- # flags are now definitely defined
-
- 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
-
- # 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
-labelz:
- movl $33, %eax
-theend:
- popl %ebp
- ret
-.Lfe1:
- .size fooble,.Lfe1-fooble
- .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
Modified: trunk/none/tests/x86/Makefile.am
===================================================================
--- trunk/none/tests/x86/Makefile.am 2009-04-24 07:00:11 UTC (rev 9603)
+++ trunk/none/tests/x86/Makefile.am 2009-04-24 07:12:39 UTC (rev 9604)
@@ -67,8 +67,8 @@
bug137714-x86 \
bug152818-x86 \
cmpxchg8b \
- cpuid \
- cse_fail \
+ cpuid \
+ cse_fail \
faultstatus \
fcmovnu \
fpu_lazy_eflags \
@@ -89,13 +89,14 @@
check_PROGRAMS += ssse3_misaligned
endif
+
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
-AM_CCASFLAGS = @FLAG_M32@
+AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M32@
# generic C ones
-cpuid_SOURCES = cpuid_c.c cpuid_s.s
+cpuid_SOURCES = cpuid_c.c cpuid_s.S
# fpu_lazy_eflags must use these flags -- the bug only occurred with them
fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro
fxtract_LDADD = -lm
Copied: trunk/none/tests/x86/cpuid_s.S (from rev 9595, trunk/none/tests/x86/cpuid_s.s)
===================================================================
--- trunk/none/tests/x86/cpuid_s.S (rev 0)
+++ trunk/none/tests/x86/cpuid_s.S 2009-04-24 07:12:39 UTC (rev 9604)
@@ -0,0 +1,71 @@
+#include "tests/asm.h"
+
+ .file "oneparam.c"
+ .version "01.01"
+gcc2_compiled.:
+.text
+ .align 4
+
+.globl VG_SYM_ASM(get_cpuid0)
+VG_SYM_ASM(get_cpuid0):
+ pushl %ebp
+ movl %esp, %ebp
+ movl 8(%ebp), %eax
+
+ pushl %edi
+ pushl %eax
+ pushl %ebx
+ pushl %ecx
+ pushl %edx
+
+ movl %eax, %edi
+ movl $0, %eax
+ cpuid
+ movl %eax, (%edi)
+ movl %ebx, 4(%edi)
+ movl %ecx, 8(%edi)
+ movl %edx, 12(%edi)
+
+ popl %edx
+ popl %ecx
+ popl %ebx
+ popl %eax
+ popl %edi
+
+ popl %ebp
+ ret
+
+
+.globl VG_SYM_ASM(get_cpuid1)
+VG_SYM_ASM(get_cpuid1):
+ pushl %ebp
+ movl %esp, %ebp
+ movl 8(%ebp), %eax
+
+ pushl %edi
+ pushl %eax
+ pushl %ebx
+ pushl %ecx
+ pushl %edx
+
+ movl %eax, %edi
+ movl $1, %eax
+ cpuid
+ movl %eax, (%edi)
+ movl %ebx, 4(%edi)
+ movl %ecx, 8(%edi)
+ movl %edx, 12(%edi)
+
+ popl %edx
+ popl %ecx
+ popl %ebx
+ popl %eax
+ popl %edi
+
+ popl %ebp
+ ret
+
+
+
+
+ .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
Property changes on: trunk/none/tests/x86/cpuid_s.S
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
Deleted: trunk/none/tests/x86/cpuid_s.s
===================================================================
--- trunk/none/tests/x86/cpuid_s.s 2009-04-24 07:00:11 UTC (rev 9603)
+++ trunk/none/tests/x86/cpuid_s.s 2009-04-24 07:12:39 UTC (rev 9604)
@@ -1,77 +0,0 @@
-
-
- .file "oneparam.c"
- .version "01.01"
-gcc2_compiled.:
-.text
- .align 4
-
-.globl get_cpuid0
- .type get_cpuid0,@function
-get_cpuid0:
- pushl %ebp
- movl %esp, %ebp
- movl 8(%ebp), %eax
-
- pushl %edi
- pushl %eax
- pushl %ebx
- pushl %ecx
- pushl %edx
-
- movl %eax, %edi
- movl $0, %eax
- cpuid
- movl %eax, (%edi)
- movl %ebx, 4(%edi)
- movl %ecx, 8(%edi)
- movl %edx, 12(%edi)
-
- popl %edx
- popl %ecx
- popl %ebx
- popl %eax
- popl %edi
-
- popl %ebp
- ret
-.Lfe1:
- .size get_cpuid0,.Lfe1-get_cpuid0
-
-
-.globl get_cpuid1
- .type get_cpuid1,@function
-get_cpuid1:
- pushl %ebp
- movl %esp, %ebp
- movl 8(%ebp), %eax
-
- pushl %edi
- pushl %eax
- pushl %ebx
- pushl %ecx
- pushl %edx
-
- movl %eax, %edi
- movl $1, %eax
- cpuid
- movl %eax, (%edi)
- movl %ebx, 4(%edi)
- movl %ecx, 8(%edi)
- movl %edx, 12(%edi)
-
- popl %edx
- popl %ecx
- popl %ebx
- popl %eax
- popl %edi
-
- popl %ebp
- ret
-.Lfe2:
- .size get_cpuid1,.Lfe2-get_cpuid1
-
-
-
-
- .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)"
|
|
From: <sv...@va...> - 2009-04-24 07:00:15
|
Author: njn Date: 2009-04-24 08:00:11 +0100 (Fri, 24 Apr 2009) New Revision: 9603 Log: Rename two .s files as .S files. This ensures that the preprocessor is run over them on Linux. (On Darwin, the preprocessor is also run over .s files because Darwin seems to have a weird case-insensitive file system. This is also why I had to removed the old files and then add them under the new names, rather than using 'svn mv'. Sigh.) Added: branches/DARWIN/memcheck/tests/x86/pushfpopf_s.S branches/DARWIN/none/tests/x86/cpuid_s.S Removed: branches/DARWIN/memcheck/tests/x86/pushfpopf_s.s branches/DARWIN/none/tests/x86/cpuid_s.s Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am branches/DARWIN/none/tests/x86/Makefile.am Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am =================================================================== --- branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-24 06:25:15 UTC (rev 9602) +++ branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-24 07:00:11 UTC (rev 9603) @@ -53,7 +53,7 @@ # fpeflags must use these flags -- bug only occurred with them. fpeflags_CFLAGS = $(AM_CFLAGS) -march=i686 -pushfpopf_SOURCES = pushfpopf_c.c pushfpopf_s.s +pushfpopf_SOURCES = pushfpopf_c.c pushfpopf_s.S if VGCONF_OS_IS_DARWIN pushpopmem_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic else Added: branches/DARWIN/memcheck/tests/x86/pushfpopf_s.S =================================================================== --- branches/DARWIN/memcheck/tests/x86/pushfpopf_s.S (rev 0) +++ branches/DARWIN/memcheck/tests/x86/pushfpopf_s.S 2009-04-24 07:00:11 UTC (rev 9603) @@ -0,0 +1,41 @@ + .file "twoparams.c" + .version "01.01" +gcc2_compiled.: +.text + .align 4 +.globl fooble + .type fooble,@function +fooble: + pushl %ebp + movl %esp, %ebp + movl 8(%ebp), %eax + + subl 12(%ebp), %eax + # flags are now undef if either operand is + # save possibly undef flags on stack + pushfl + + movl $0, %eax + addl $0, %eax + # flags are now definitely defined + + 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 + + # 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 +labelz: + movl $33, %eax +theend: + popl %ebp + ret +.Lfe1: + .size fooble,.Lfe1-fooble + .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" Deleted: branches/DARWIN/memcheck/tests/x86/pushfpopf_s.s =================================================================== --- branches/DARWIN/memcheck/tests/x86/pushfpopf_s.s 2009-04-24 06:25:15 UTC (rev 9602) +++ branches/DARWIN/memcheck/tests/x86/pushfpopf_s.s 2009-04-24 07:00:11 UTC (rev 9603) @@ -1,41 +0,0 @@ - .file "twoparams.c" - .version "01.01" -gcc2_compiled.: -.text - .align 4 -.globl fooble - .type fooble,@function -fooble: - pushl %ebp - movl %esp, %ebp - movl 8(%ebp), %eax - - subl 12(%ebp), %eax - # flags are now undef if either operand is - # save possibly undef flags on stack - pushfl - - movl $0, %eax - addl $0, %eax - # flags are now definitely defined - - 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 - - # 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 -labelz: - movl $33, %eax -theend: - popl %ebp - ret -.Lfe1: - .size fooble,.Lfe1-fooble - .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" Modified: branches/DARWIN/none/tests/x86/Makefile.am =================================================================== --- branches/DARWIN/none/tests/x86/Makefile.am 2009-04-24 06:25:15 UTC (rev 9602) +++ branches/DARWIN/none/tests/x86/Makefile.am 2009-04-24 07:00:11 UTC (rev 9603) @@ -101,7 +101,7 @@ AM_CFLAGS += -mdynamic-no-pic endif -cpuid_SOURCES = cpuid_c.c cpuid_s.s +cpuid_SOURCES = cpuid_c.c cpuid_s.S # fpu_lazy_eflags must use these flags -- the bug only occurred with them. fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro fxtract_LDADD = -lm Added: branches/DARWIN/none/tests/x86/cpuid_s.S =================================================================== --- branches/DARWIN/none/tests/x86/cpuid_s.S (rev 0) +++ branches/DARWIN/none/tests/x86/cpuid_s.S 2009-04-24 07:00:11 UTC (rev 9603) @@ -0,0 +1,71 @@ +#include "tests/asm.h" + + .file "oneparam.c" + .version "01.01" +gcc2_compiled.: +.text + .align 4 + +.globl VG_SYM_ASM(get_cpuid0) +VG_SYM_ASM(get_cpuid0): + pushl %ebp + movl %esp, %ebp + movl 8(%ebp), %eax + + pushl %edi + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + + movl %eax, %edi + movl $0, %eax + cpuid + movl %eax, (%edi) + movl %ebx, 4(%edi) + movl %ecx, 8(%edi) + movl %edx, 12(%edi) + + popl %edx + popl %ecx + popl %ebx + popl %eax + popl %edi + + popl %ebp + ret + + +.globl VG_SYM_ASM(get_cpuid1) +VG_SYM_ASM(get_cpuid1): + pushl %ebp + movl %esp, %ebp + movl 8(%ebp), %eax + + pushl %edi + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + + movl %eax, %edi + movl $1, %eax + cpuid + movl %eax, (%edi) + movl %ebx, 4(%edi) + movl %ecx, 8(%edi) + movl %edx, 12(%edi) + + popl %edx + popl %ecx + popl %ebx + popl %eax + popl %edi + + popl %ebp + ret + + + + + .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" Deleted: branches/DARWIN/none/tests/x86/cpuid_s.s =================================================================== --- branches/DARWIN/none/tests/x86/cpuid_s.s 2009-04-24 06:25:15 UTC (rev 9602) +++ branches/DARWIN/none/tests/x86/cpuid_s.s 2009-04-24 07:00:11 UTC (rev 9603) @@ -1,71 +0,0 @@ -#include "tests/asm.h" - - .file "oneparam.c" - .version "01.01" -gcc2_compiled.: -.text - .align 4 - -.globl VG_SYM_ASM(get_cpuid0) -VG_SYM_ASM(get_cpuid0): - pushl %ebp - movl %esp, %ebp - movl 8(%ebp), %eax - - pushl %edi - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - - movl %eax, %edi - movl $0, %eax - cpuid - movl %eax, (%edi) - movl %ebx, 4(%edi) - movl %ecx, 8(%edi) - movl %edx, 12(%edi) - - popl %edx - popl %ecx - popl %ebx - popl %eax - popl %edi - - popl %ebp - ret - - -.globl VG_SYM_ASM(get_cpuid1) -VG_SYM_ASM(get_cpuid1): - pushl %ebp - movl %esp, %ebp - movl 8(%ebp), %eax - - pushl %edi - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - - movl %eax, %edi - movl $1, %eax - cpuid - movl %eax, (%edi) - movl %ebx, 4(%edi) - movl %ecx, 8(%edi) - movl %edx, 12(%edi) - - popl %edx - popl %ecx - popl %ebx - popl %eax - popl %edi - - popl %ebp - ret - - - - - .ident "GCC: (GNU) 2.96 20000731 (Red Hat Linux 7.1 2.96-98)" |
|
From: <sv...@va...> - 2009-04-24 06:25:21
|
Author: njn
Date: 2009-04-24 07:25:15 +0100 (Fri, 24 Apr 2009)
New Revision: 9602
Log:
Make cpuid pass.
Modified:
branches/DARWIN/cachegrind/tests/x86/Makefile.am
branches/DARWIN/none/tests/x86/Makefile.am
branches/DARWIN/none/tests/x86/cpuid_s.s
Modified: branches/DARWIN/cachegrind/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/cachegrind/tests/x86/Makefile.am 2009-04-24 04:57:07 UTC (rev 9601)
+++ branches/DARWIN/cachegrind/tests/x86/Makefile.am 2009-04-24 06:25:15 UTC (rev 9602)
@@ -12,6 +12,6 @@
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
-AM_CCASFLAGS = @FLAG_M32@
+AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M32@
fpu_28_108_SOURCES = fpu-28-108.S
Modified: branches/DARWIN/none/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/x86/Makefile.am 2009-04-24 04:57:07 UTC (rev 9601)
+++ branches/DARWIN/none/tests/x86/Makefile.am 2009-04-24 06:25:15 UTC (rev 9602)
@@ -65,6 +65,7 @@
bug137714-x86 \
bug152818-x86 \
cmpxchg8b \
+ cpuid \
cse_fail \
faultstatus \
fcmovnu \
@@ -86,16 +87,10 @@
check_PROGRAMS += ssse3_misaligned
endif
-# DDD: not sure if these ones should work on Darwin or not... if not, should
-# be moved into x86-linux/.
-if ! VGCONF_OS_IS_DARWIN
- check_PROGRAMS += \
- cpuid
-endif
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
-AM_CCASFLAGS = @FLAG_M32@
+AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M32@
# Some of the tests (bug125959_x86, bug152818_x86, insn_*) need
# -mdynamic-no-pic. I tried setting *_CFLAGS separately for all of them,
Modified: branches/DARWIN/none/tests/x86/cpuid_s.s
===================================================================
--- branches/DARWIN/none/tests/x86/cpuid_s.s 2009-04-24 04:57:07 UTC (rev 9601)
+++ branches/DARWIN/none/tests/x86/cpuid_s.s 2009-04-24 06:25:15 UTC (rev 9602)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
.file "oneparam.c"
.version "01.01"
@@ -6,9 +6,8 @@
.text
.align 4
-.globl get_cpuid0
- .type get_cpuid0,@function
-get_cpuid0:
+.globl VG_SYM_ASM(get_cpuid0)
+VG_SYM_ASM(get_cpuid0):
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
@@ -35,13 +34,10 @@
popl %ebp
ret
-.Lfe1:
- .size get_cpuid0,.Lfe1-get_cpuid0
-.globl get_cpuid1
- .type get_cpuid1,@function
-get_cpuid1:
+.globl VG_SYM_ASM(get_cpuid1)
+VG_SYM_ASM(get_cpuid1):
pushl %ebp
movl %esp, %ebp
movl 8(%ebp), %eax
@@ -68,8 +64,6 @@
popl %ebp
ret
-.Lfe2:
- .size get_cpuid1,.Lfe2-get_cpuid1
|
|
From: <sv...@va...> - 2009-04-24 04:57:11
|
Author: njn
Date: 2009-04-24 05:57:07 +0100 (Fri, 24 Apr 2009)
New Revision: 9601
Log:
Merge r9600 (separate VG_ and ML_ definitions for C and asm files) from the
DARWIN branch.
Modified:
trunk/cachegrind/tests/x86/fpu-28-108.S
trunk/coregrind/m_cpuid.S
trunk/coregrind/pub_core_basics.h
trunk/coregrind/pub_core_basics_asm.h
trunk/include/pub_tool_basics.h
trunk/include/pub_tool_basics_asm.h
trunk/massif/tests/ignored.c
trunk/tests/asm.h
Modified: trunk/cachegrind/tests/x86/fpu-28-108.S
===================================================================
--- trunk/cachegrind/tests/x86/fpu-28-108.S 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/cachegrind/tests/x86/fpu-28-108.S 2009-04-24 04:57:07 UTC (rev 9601)
@@ -4,6 +4,8 @@
/* Useful listing:
gcc -o tests/fpu_28_108 tests/fpu_28_108.S -Wa,-a */
+#include "tests/asm.h"
+
.data
fooble:
.long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -12,8 +14,8 @@
bar:
.text
-.globl main
-main:
+.globl VG_SYM_ASM(main)
+VG_SYM_ASM(main):
fstsw fooble
fsave fooble
frstor fooble
Modified: trunk/coregrind/m_cpuid.S
===================================================================
--- trunk/coregrind/m_cpuid.S 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/coregrind/m_cpuid.S 2009-04-24 04:57:07 UTC (rev 9601)
@@ -143,7 +143,7 @@
ret
#endif
-#if defined(VGA_x86) || defined(VGA_amd64)
+#if defined(VGO_linux)
/* Let the linker know we don't need an executable stack */
.section .note.GNU-stack,"",@progbits
#endif
Modified: trunk/coregrind/pub_core_basics.h
===================================================================
--- trunk/coregrind/pub_core_basics.h 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/coregrind/pub_core_basics.h 2009-04-24 04:57:07 UTC (rev 9601)
@@ -37,7 +37,6 @@
// everywhere.
//--------------------------------------------------------------------
-#include "pub_core_basics_asm.h"
#include "pub_tool_basics.h"
/* ---------------------------------------------------------------------
Modified: trunk/coregrind/pub_core_basics_asm.h
===================================================================
--- trunk/coregrind/pub_core_basics_asm.h 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/coregrind/pub_core_basics_asm.h 2009-04-24 04:57:07 UTC (rev 9601)
@@ -1,7 +1,6 @@
/*--------------------------------------------------------------------*/
-/*--- Header imported directly by every core asm file, and ---*/
-/*--- (via pub_core_basics.h) by every core C file. ---*/
+/*--- Header imported directly by every core asm file. ---*/
/*--- pub_core_basics_asm.h ---*/
/*--------------------------------------------------------------------*/
@@ -34,9 +33,8 @@
#define __PUB_CORE_BASICS_ASM_H
//--------------------------------------------------------------------
-// PURPOSE: This header should be imported by every single asm and
-// (indirectly) by every C file in the core. It contains really basic
-// things needed everywhere.
+// PURPOSE: This header should be imported by every single asm file
+// in the core. It contains really basic things needed everywhere.
//--------------------------------------------------------------------
#include "pub_tool_basics_asm.h"
Modified: trunk/include/pub_tool_basics.h
===================================================================
--- trunk/include/pub_tool_basics.h 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/include/pub_tool_basics.h 2009-04-24 04:57:07 UTC (rev 9601)
@@ -46,9 +46,6 @@
// Addr32, Addr64, HWord, HChar, Bool, False and True.
#include "libvex_basictypes.h"
-// For the VG_() macro
-#include "pub_tool_basics_asm.h"
-
// For varargs types
#include <stdarg.h>
@@ -57,6 +54,27 @@
/* ---------------------------------------------------------------------
+ symbol prefixing
+ ------------------------------------------------------------------ */
+
+// All symbols externally visible from Valgrind are prefixed
+// as specified here to avoid namespace conflict problems.
+//
+// VG_ is for symbols exported from modules. ML_ (module-local) is
+// for symbols which are not intended to be visible outside modules,
+// but which cannot be declared as C 'static's since they need to be
+// visible across C files within a given module. It is a mistake for
+// a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
+// Likewise it is a mistake for a VG_ name to appear in a priv_*.h
+// file.
+
+#define VGAPPEND(str1,str2) str1##str2
+
+#define VG_(str) VGAPPEND(vgPlain_, str)
+#define ML_(str) VGAPPEND(vgModuleLocal_, str)
+
+
+/* ---------------------------------------------------------------------
builtin types
------------------------------------------------------------------ */
Modified: trunk/include/pub_tool_basics_asm.h
===================================================================
--- trunk/include/pub_tool_basics_asm.h 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/include/pub_tool_basics_asm.h 2009-04-24 04:57:07 UTC (rev 9601)
@@ -1,7 +1,6 @@
/*--------------------------------------------------------------------*/
-/*--- Header imported directly by every tool asm file, and ---*/
-/*--- (via pub_tool_basics.h) by every tool C file. ---*/
+/*--- Header imported directly by every tool asm file. ---*/
/*--- pub_tool_basics_asm.h ---*/
/*--------------------------------------------------------------------*/
@@ -33,19 +32,22 @@
#ifndef __PUB_TOOL_BASICS_ASM_H
#define __PUB_TOOL_BASICS_ASM_H
-/* All symbols externally visible from Valgrind are prefixed
- as specified here to avoid namespace conflict problems. */
+// See pub_tool_basics.h for the purpose of these macros.
+//
+// Note that although the macros here (which are used in asm files) have the
+// same name as those in pub_tool_basics.h (which are used in C files), they
+// have different definitions. Actually, on Linux the definitions are the
+// same, but on Darwin they are different. The reason is that C names on
+// Darwin always get a '_' prepended to them by the compiler. But in order to
+// refer to them from asm code, we have to add the '_' ourselves. Having two
+// versions of these macros makes that difference transparent, so we can use
+// VG_/ML_ in both asm and C files.
+//
+// Note also that the exact prefixes used have to match those used in
+// pub_tool_basics.h.
#define VGAPPEND(str1,str2) str1##str2
-
-/* VG_ is for symbols exported from modules. ML_ (module-local) is
- for symbols which are not intended to be visible outside modules,
- but which cannot be declared as C 'static's since they need to be
- visible across C files within a given module. It is a mistake for
- a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
- Likewise it is a mistake for a VG_ name to appear in a priv_*.h
- file.
-*/
+
#define VG_(str) VGAPPEND(vgPlain_, str)
#define ML_(str) VGAPPEND(vgModuleLocal_, str)
Modified: trunk/massif/tests/ignored.c
===================================================================
--- trunk/massif/tests/ignored.c 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/massif/tests/ignored.c 2009-04-24 04:57:07 UTC (rev 9601)
@@ -45,5 +45,7 @@
ignore2(x, ignored_x);
x = realloc(ignored_x, 0); // equivalent to 'free(ignored_x)'.
+
+ return 0;
}
Modified: trunk/tests/asm.h
===================================================================
--- trunk/tests/asm.h 2009-04-24 04:37:30 UTC (rev 9600)
+++ trunk/tests/asm.h 2009-04-24 04:57:07 UTC (rev 9601)
@@ -8,4 +8,4 @@
#define VG_SYM(x) #x
// This one is for use in asm files.
-#define VG_SYM_ASM(x) _#x
+#define VG_SYM_ASM(x) x
|
|
From: <sv...@va...> - 2009-04-24 04:37:39
|
Author: njn
Date: 2009-04-24 05:37:30 +0100 (Fri, 24 Apr 2009)
New Revision: 9600
Log:
Separate VG_ and ML_ definitions for asm files vs. C files. This lets us
paper over the fact that C names in Darwin get an underscore prepended to
them, and get rid of the _VG_ and _ML_ macros that were being used on
Darwin.
As part of this, pub_{core,tool}_basics_asm.h only now are included in asm
files, not C files. This is no great loss as they only included the VG_ and
ML_ definitions.
This allowed m_cpuid-{x86,amd64}-darwin.S to be removed; m_cpuid.S can now
be used as is on Darwin.
Also removed an unnecessary bit of conditional compilation in fpu-28-108.S
and fixed VG_SYM_ASM in tests/asm.h.
Removed:
branches/DARWIN/coregrind/m_cpuid-amd64-darwin.S
branches/DARWIN/coregrind/m_cpuid-x86-darwin.S
Modified:
branches/DARWIN/cachegrind/tests/x86/fpu-28-108.S
branches/DARWIN/coregrind/Makefile.am
branches/DARWIN/coregrind/m_cpuid.S
branches/DARWIN/coregrind/m_dispatch/dispatch-amd64-darwin.S
branches/DARWIN/coregrind/m_dispatch/dispatch-x86-darwin.S
branches/DARWIN/coregrind/m_start-amd64-darwin.S
branches/DARWIN/coregrind/m_start-x86-darwin.S
branches/DARWIN/coregrind/m_syswrap/syscall-amd64-darwin.S
branches/DARWIN/coregrind/m_syswrap/syscall-x86-darwin.S
branches/DARWIN/coregrind/m_trampoline.S
branches/DARWIN/coregrind/pub_core_basics.h
branches/DARWIN/coregrind/pub_core_basics_asm.h
branches/DARWIN/include/pub_tool_basics.h
branches/DARWIN/include/pub_tool_basics_asm.h
branches/DARWIN/tests/asm.h
Modified: branches/DARWIN/cachegrind/tests/x86/fpu-28-108.S
===================================================================
--- branches/DARWIN/cachegrind/tests/x86/fpu-28-108.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/cachegrind/tests/x86/fpu-28-108.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -4,6 +4,8 @@
/* Useful listing:
gcc -o tests/fpu_28_108 tests/fpu_28_108.S -Wa,-a */
+#include "tests/asm.h"
+
.data
fooble:
.long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -12,13 +14,8 @@
bar:
.text
-#if defined(__APPLE__)
-.globl _main
-_main:
-#else
-.globl main
-main:
-#endif
+.globl VG_SYM_ASM(main)
+VG_SYM_ASM(main):
fstsw fooble
fsave fooble
frstor fooble
Modified: branches/DARWIN/coregrind/Makefile.am
===================================================================
--- branches/DARWIN/coregrind/Makefile.am 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/Makefile.am 2009-04-24 04:37:30 UTC (rev 9600)
@@ -455,19 +455,17 @@
libcoregrind_ppc64_aix5_a_CCASFLAGS = $(AM_CCASFLAGS_PPC64_AIX5)
libcoregrind_ppc64_aix5_a_AR = $(AR) -X64 cru
-# DDD: m_cpuid-x86-darwin.S should be merged into m_cpuid.S, they're very
-# similar. Likewise for m_cpuid-amd64-darwin.S.
libcoregrind_x86_darwin_a_SOURCES = \
$(COREGRIND_SOURCES_COMMON) \
$(COREGRIND_DARWIN_SOURCE) \
m_coredump/coredump-x86-darwin.c \
+ m_cpuid.S \
m_dispatch/dispatch-x86-darwin.S \
- m_sigframe/sigframe-x86-darwin.c \
- m_syswrap/syscall-x86-darwin.S \
- m_syswrap/syswrap-x86-darwin.c \
m_mach/mach_traps-x86-darwin.S \
+ m_sigframe/sigframe-x86-darwin.c \
m_start-x86-darwin.S \
- m_cpuid-x86-darwin.S
+ m_syswrap/syscall-x86-darwin.S \
+ m_syswrap/syswrap-x86-darwin.c
libcoregrind_x86_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CFLAGS = $(AM_CFLAGS_X86_DARWIN)
libcoregrind_x86_darwin_a_CCASFLAGS = $(AM_CCASFLAGS_X86_DARWIN)
@@ -477,13 +475,13 @@
$(COREGRIND_SOURCES_COMMON) \
$(COREGRIND_DARWIN_SOURCE) \
m_coredump/coredump-amd64-darwin.c \
+ m_cpuid.S \
m_dispatch/dispatch-amd64-darwin.S \
- m_sigframe/sigframe-amd64-darwin.c \
- m_syswrap/syscall-amd64-darwin.S \
- m_syswrap/syswrap-amd64-darwin.c \
m_mach/mach_traps-amd64-darwin.S \
+ m_sigframe/sigframe-amd64-darwin.c \
m_start-amd64-darwin.S \
- m_cpuid-amd64-darwin.S
+ m_syswrap/syscall-amd64-darwin.S \
+ m_syswrap/syswrap-amd64-darwin.c
libcoregrind_amd64_darwin_a_CPPFLAGS = $(AM_CPPFLAGS_AMD64_DARWIN)
libcoregrind_amd64_darwin_a_CFLAGS = $(AM_CFLAGS_AMD64_DARWIN)
libcoregrind_amd64_darwin_a_CCASFLAGS = $(AM_CCASFLAGS_AMD64_DARWIN)
Deleted: branches/DARWIN/coregrind/m_cpuid-amd64-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_cpuid-amd64-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_cpuid-amd64-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -1,84 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- CPUID interface. m_cpuid-amd64-darwin.S ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2007 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "pub_core_basics_asm.h"
-
-/*
- Bool VG_(has_cpuid)(void)
- */
-.globl _VG_(has_cpuid)
-_VG_(has_cpuid):
- movq $1, %rax
- ret
-
-/*
- void VG_(cpuid)(UInt eax,
- UInt* eax_ret, UInt* ebx_ret, UInt* ecx_ret, UInt* edx_ret)
- */
-.globl _VG_(cpuid)
-_VG_(cpuid):
- pushq %rbp
- movq %rsp, %rbp
- pushq %rbx
- movl %edi, %eax
- movq %rdx, %rdi
- movq %rcx, %r9
- /*
- eax_ret now in %rsi
- ebx_ret now in %rdi
- ecx_ret now in %r9
- edx_ret now in %r8
- */
- cpuid
- testq %rsi, %rsi
- jz 1f
- movl %eax, (%rsi)
- 1:
- testq %rdi, %rdi
- jz 2f
- movl %ebx, (%rdi)
- 2:
- testq %r9, %r9
- jz 3f
- movl %ecx, (%r9)
- 3:
- testq %r8, %r8
- jz 4f
- movl %edx, (%r8)
- 4:
- popq %rbx
- movq %rbp, %rsp
- popq %rbp
- ret
-
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Deleted: branches/DARWIN/coregrind/m_cpuid-x86-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_cpuid-x86-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_cpuid-x86-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -1,88 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- CPUID interface. m_cpuid-x86-darwin.S ---*/
-/*--------------------------------------------------------------------*/
-
-/*
- This file is part of Valgrind, a dynamic binary instrumentation
- framework.
-
- Copyright (C) 2000-2006 Julian Seward
- js...@ac...
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-#include "pub_tool_basics_asm.h"
-
-/*
- Bool VG_(has_cpuid)(void)
- Assume everything Darwin runs on has cpuid.
- */
-.globl _VG_(has_cpuid)
-_VG_(has_cpuid):
- movl $1, %eax
- ret
-
-/*
- void VG_(cpuid)(UInt eax,
- UInt* eax_ret, UInt* ebx_ret, UInt* ecx_ret, UInt* edx_ret)
- */
-.globl _VG_(cpuid)
-_VG_(cpuid):
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ebx
- pushl %ecx
- pushl %edx
- pushl %esi
- movl 8(%ebp), %eax
- cpuid
- movl 12(%ebp), %esi
- testl %esi, %esi
- jz 1f
- movl %eax, (%esi)
- 1:
- movl 16(%ebp), %esi
- testl %esi, %esi
- jz 2f
- movl %ebx, (%esi)
- 2:
- movl 20(%ebp), %esi
- testl %esi, %esi
- jz 3f
- movl %ecx, (%esi)
- 3:
- movl 24(%ebp), %esi
- testl %esi, %esi
- jz 4f
- movl %edx, (%esi)
- 4:
- popl %esi
- popl %edx
- popl %ecx
- popl %ebx
- popl %eax
- movl %ebp, %esp
- popl %ebp
- ret
-
-/*--------------------------------------------------------------------*/
-/*--- end ---*/
-/*--------------------------------------------------------------------*/
Modified: branches/DARWIN/coregrind/m_cpuid.S
===================================================================
--- branches/DARWIN/coregrind/m_cpuid.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_cpuid.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -143,7 +143,7 @@
ret
#endif
-#if defined(VGA_x86) || defined(VGA_amd64)
+#if defined(VGO_linux)
/* Let the linker know we don't need an executable stack */
.section .note.GNU-stack,"",@progbits
#endif
Modified: branches/DARWIN/coregrind/m_dispatch/dispatch-amd64-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_dispatch/dispatch-amd64-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_dispatch/dispatch-amd64-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -51,8 +51,8 @@
*/
.text
-.globl _VG_(run_innerloop)
-_VG_(run_innerloop):
+.globl VG_(run_innerloop)
+VG_(run_innerloop):
/* %rdi holds guest_state */
/* %rsi holds do_profiling */
@@ -72,7 +72,7 @@
pushq %r15
pushq %rdi /* guest_state */
- movq _VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
+ movq VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
movl (%r15), %r15d
pushq %r15
@@ -104,8 +104,8 @@
/* fall into main loop (the right one) */
cmpq $0, %rsi
- je _VG_(run_innerloop__dispatch_unprofiled)
- jmp _VG_(run_innerloop__dispatch_profiled)
+ je VG_(run_innerloop__dispatch_unprofiled)
+ jmp VG_(run_innerloop__dispatch_profiled)
/*NOTREACHED*/
/*----------------------------------------------------*/
@@ -113,14 +113,14 @@
/*----------------------------------------------------*/
.align 4
-.globl _VG_(run_innerloop__dispatch_unprofiled)
-_VG_(run_innerloop__dispatch_unprofiled):
+.globl VG_(run_innerloop__dispatch_unprofiled)
+VG_(run_innerloop__dispatch_unprofiled):
/* AT ENTRY: %rax is next guest addr, %rbp is possibly
modified guest state ptr */
/* Has the guest state pointer been messed with? If yes, exit. */
cmpq 8(%rsp), %rbp
- movq _VG_(tt_fast)@GOTPCREL(%rip), %rcx
+ movq VG_(tt_fast)@GOTPCREL(%rip), %rcx
jnz gsp_changed
/* save the jump address in the guest state */
@@ -151,14 +151,14 @@
/*----------------------------------------------------*/
.align 4
-.globl _VG_(run_innerloop__dispatch_profiled)
-_VG_(run_innerloop__dispatch_profiled):
+.globl VG_(run_innerloop__dispatch_profiled)
+VG_(run_innerloop__dispatch_profiled):
/* AT ENTRY: %rax is next guest addr, %rbp is possibly
modified guest state ptr */
/* Has the guest state pointer been messed with? If yes, exit. */
cmpq 8(%rsp), %rbp
- movq _VG_(tt_fast)@GOTPCREL(%rip), %rcx
+ movq VG_(tt_fast)@GOTPCREL(%rip), %rcx
jnz gsp_changed
/* save the jump address in the guest state */
@@ -178,7 +178,7 @@
jnz fast_lookup_failed
/* increment bb profile counter */
- movq _VG_(tt_fastN)@GOTPCREL(%rip), %rdx
+ movq VG_(tt_fastN)@GOTPCREL(%rip), %rdx
shrq $1, %rbx /* entry# * sizeof(UInt*) */
movq (%rdx,%rbx,1), %rdx
addl $1, (%rdx)
@@ -256,7 +256,7 @@
/* restore VG_(dispatch_ctr) */
popq %r14
- movq _VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
+ movq VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
movl %r14d, (%r15)
popq %rdi
@@ -295,8 +295,8 @@
3: output: guest state pointer afterwards (== thread return code)
*/
.align 4
-.globl _VG_(run_a_noredir_translation)
-_VG_(run_a_noredir_translation):
+.globl VG_(run_a_noredir_translation)
+VG_(run_a_noredir_translation):
/* Save callee-saves regs */
pushq %rbx
pushq %rbp
@@ -312,8 +312,8 @@
ud2
/* If the translation has been correctly constructed, we
should resume at the the following label. */
-.globl _VG_(run_a_noredir_translation__return_point)
-_VG_(run_a_noredir_translation__return_point):
+.globl VG_(run_a_noredir_translation__return_point)
+VG_(run_a_noredir_translation__return_point):
popq %rdi
movq %rax, 16(%rdi)
movq %rbp, 24(%rdi)
Modified: branches/DARWIN/coregrind/m_dispatch/dispatch-x86-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_dispatch/dispatch-x86-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_dispatch/dispatch-x86-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -42,15 +42,15 @@
.align 2
/* m_transtab.c */
-.globl _VG_(tt_fast)
+.globl VG_(tt_fast)
.align 4
-_VG_(tt_fast): .space VG_TT_FAST_SIZE*8, 0 /* (2*Addr) [VG_TT_FAST_SIZE] */
-.globl _VG_(tt_fastN)
-_VG_(tt_fastN): .space VG_TT_FAST_SIZE*4, 0 /* (UInt *) [VG_TT_FAST_SIZE] */
+VG_(tt_fast): .space VG_TT_FAST_SIZE*8, 0 /* (2*Addr) [VG_TT_FAST_SIZE] */
+.globl VG_(tt_fastN)
+VG_(tt_fastN): .space VG_TT_FAST_SIZE*4, 0 /* (UInt *) [VG_TT_FAST_SIZE] */
/* scheduler.c */
-.globl _VG_(dispatch_ctr)
-_VG_(dispatch_ctr): .long 0
+.globl VG_(dispatch_ctr)
+VG_(dispatch_ctr): .long 0
/*------------------------------------------------------------*/
@@ -65,15 +65,15 @@
/*----------------------------------------------------*/
/* signature:
-UWord _VG_(run_innerloop) ( void* guest_state, UWord do_profiling );
+UWord VG_(run_innerloop) ( void* guest_state, UWord do_profiling );
*/
.text
-.globl _VG_(run_innerloop)
-_VG_(run_innerloop):
+.globl VG_(run_innerloop)
+VG_(run_innerloop):
/* 4(%esp) holds guest_state */
/* 8(%esp) holds do_profiling */
- /* ----- entry point to _VG_(run_innerloop) ----- */
+ /* ----- entry point to VG_(run_innerloop) ----- */
pushl %ebx
pushl %ecx
pushl %edx
@@ -100,7 +100,7 @@
/* set host SSE control word to the default mode expected
by VEX-generated code. */
- cmpl $0, _VG_(machine_x86_have_mxcsr)
+ cmpl $0, VG_(machine_x86_have_mxcsr)
jz L1
pushl $0x1F80
ldmxcsr (%esp)
@@ -111,16 +111,16 @@
/* fall into main loop (the right one) */
cmpl $0, 32(%esp) /* do_profiling */
- je _VG_(run_innerloop__dispatch_unprofiled)
- jmp _VG_(run_innerloop__dispatch_profiled)
+ je VG_(run_innerloop__dispatch_unprofiled)
+ jmp VG_(run_innerloop__dispatch_profiled)
/*NOTREACHED*/
/*----------------------------------------------------*/
/*--- NO-PROFILING (standard) dispatcher ---*/
/*----------------------------------------------------*/
-.globl _VG_(run_innerloop__dispatch_unprofiled)
-_VG_(run_innerloop__dispatch_unprofiled):
+.globl VG_(run_innerloop__dispatch_unprofiled)
+VG_(run_innerloop__dispatch_unprofiled):
/* AT ENTRY: %eax is next guest addr, %ebp is possibly
modified guest state ptr */
@@ -132,14 +132,14 @@
movl %eax, OFFSET_x86_EIP(%ebp)
/* Are we out of timeslice? If yes, defer to scheduler. */
- subl $1, _VG_(dispatch_ctr)
+ subl $1, VG_(dispatch_ctr)
jz counter_is_zero
/* try a fast lookup in the translation cache */
movl %eax, %ebx
andl $VG_TT_FAST_MASK, %ebx
- movl 0+_VG_(tt_fast)(,%ebx,8), %esi /* .guest */
- movl 4+_VG_(tt_fast)(,%ebx,8), %edi /* .host */
+ movl 0+VG_(tt_fast)(,%ebx,8), %esi /* .guest */
+ movl 4+VG_(tt_fast)(,%ebx,8), %edi /* .host */
cmpl %eax, %esi
jnz fast_lookup_failed
@@ -147,15 +147,15 @@
jmp *%edi
ud2 /* persuade insn decoders not to speculate past here */
/* generated code should run, then jump back to
- _VG_(run_innerloop__dispatch_unprofiled). */
+ VG_(run_innerloop__dispatch_unprofiled). */
/*NOTREACHED*/
/*----------------------------------------------------*/
/*--- PROFILING dispatcher (can be much slower) ---*/
/*----------------------------------------------------*/
-.globl _VG_(run_innerloop__dispatch_profiled)
-_VG_(run_innerloop__dispatch_profiled):
+.globl VG_(run_innerloop__dispatch_profiled)
+VG_(run_innerloop__dispatch_profiled):
/* AT ENTRY: %eax is next guest addr, %ebp is possibly
modified guest state ptr */
@@ -167,20 +167,20 @@
movl %eax, OFFSET_x86_EIP(%ebp)
/* Are we out of timeslice? If yes, defer to scheduler. */
- subl $1, _VG_(dispatch_ctr)
+ subl $1, VG_(dispatch_ctr)
jz counter_is_zero
/* try a fast lookup in the translation cache */
movl %eax, %ebx
andl $VG_TT_FAST_MASK, %ebx
- movl 0+_VG_(tt_fast)(,%ebx,8), %esi /* .guest */
- movl 4+_VG_(tt_fast)(,%ebx,8), %edi /* .host */
+ movl 0+VG_(tt_fast)(,%ebx,8), %esi /* .guest */
+ movl 4+VG_(tt_fast)(,%ebx,8), %edi /* .host */
cmpl %eax, %esi
jnz fast_lookup_failed
/* increment bb profile counter */
/* note: innocuous as this sounds, it causes a huge amount more
stress on D1 and significantly slows everything down. */
- movl _VG_(tt_fastN)(,%ebx,4), %edx
+ movl VG_(tt_fastN)(,%ebx,4), %edx
/* Use "addl $1", not "incl", to avoid partial-flags stall on P4 */
addl $1, (%edx)
@@ -188,7 +188,7 @@
jmp *%edi
ud2 /* persuade insn decoders not to speculate past here */
/* generated code should run, then jump back to
- _VG_(run_innerloop__dispatch_profiled). */
+ VG_(run_innerloop__dispatch_profiled). */
/*NOTREACHED*/
/*----------------------------------------------------*/
@@ -212,7 +212,7 @@
counter_is_zero:
/* %EIP is up to date here */
/* back out decrement of the dispatch counter */
- addl $1, _VG_(dispatch_ctr)
+ addl $1, VG_(dispatch_ctr)
movl $VG_TRC_INNER_COUNTERZERO, %eax
jmp run_innerloop_exit
/*NOTREACHED*/
@@ -220,7 +220,7 @@
fast_lookup_failed:
/* %EIP is up to date here */
/* back out decrement of the dispatch counter */
- addl $1, _VG_(dispatch_ctr)
+ addl $1, VG_(dispatch_ctr)
movl $VG_TRC_INNER_FASTMISS, %eax
jmp run_innerloop_exit
/*NOTREACHED*/
@@ -242,7 +242,7 @@
popl %esi /* get rid of the word without trashing %eflags */
jnz invariant_violation
#endif
- cmpl $0, _VG_(machine_x86_have_mxcsr)
+ cmpl $0, VG_(machine_x86_have_mxcsr)
jz L2
pushl $0
stmxcsr (%esp)
@@ -275,7 +275,7 @@
/*------------------------------------------------------------*/
/* signature:
-void _VG_(run_a_noredir_translation) ( UWord* argblock );
+void VG_(run_a_noredir_translation) ( UWord* argblock );
*/
/* Run a no-redir translation. argblock points to 4 UWords, 2 to carry args
@@ -285,8 +285,8 @@
2: output: next guest PC
3: output: guest state pointer afterwards (== thread return code)
*/
-.globl _VG_(run_a_noredir_translation)
-_VG_(run_a_noredir_translation):
+.globl VG_(run_a_noredir_translation)
+VG_(run_a_noredir_translation):
/* Save callee-saves regs */
pushl %esi
pushl %edi
@@ -300,8 +300,8 @@
ud2
/* If the translation has been correctly constructed, we
should resume at the the following label. */
-.globl _VG_(run_a_noredir_translation__return_point)
-_VG_(run_a_noredir_translation__return_point):
+.globl VG_(run_a_noredir_translation__return_point)
+VG_(run_a_noredir_translation__return_point):
movl 20(%esp), %edi
movl %eax, 8(%edi) /* argblock[2] */
movl %ebp, 12(%edi) /* argblock[3] */
Modified: branches/DARWIN/coregrind/m_start-amd64-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_start-amd64-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_start-amd64-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -28,6 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
+#include "pub_core_basics_asm.h"
+
.text
.align 3,0x90
Ldyld_stub_binding_helper:
Modified: branches/DARWIN/coregrind/m_start-x86-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_start-x86-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_start-x86-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -28,6 +28,8 @@
The GNU General Public License is contained in the file COPYING.
*/
+#include "pub_core_basics_asm.h"
+
.text
.align 2,0x90
Ldyld_stub_binding_helper:
Modified: branches/DARWIN/coregrind/m_syswrap/syscall-amd64-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syscall-amd64-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_syswrap/syscall-amd64-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -192,16 +192,16 @@
.endmacro
-.globl _ML_(do_syscall_for_client_unix_WRK)
-_ML_(do_syscall_for_client_unix_WRK):
+.globl ML_(do_syscall_for_client_unix_WRK)
+ML_(do_syscall_for_client_unix_WRK):
DO_SYSCALL UNIX
-.globl _ML_(do_syscall_for_client_mach_WRK)
-_ML_(do_syscall_for_client_mach_WRK):
+.globl ML_(do_syscall_for_client_mach_WRK)
+ML_(do_syscall_for_client_mach_WRK):
DO_SYSCALL MACH
-.globl _ML_(do_syscall_for_client_mdep_WRK)
-_ML_(do_syscall_for_client_mdep_WRK):
+.globl ML_(do_syscall_for_client_mdep_WRK)
+ML_(do_syscall_for_client_mdep_WRK):
DO_SYSCALL MDEP
.data
@@ -214,38 +214,38 @@
#define FOO(scclass,labelno) L_##scclass##_##labelno
#define MK_L_SCCLASS_N(scclass,labelno) FOO(scclass,labelno)
-.globl _ML_(blksys_setup_MACH)
-.globl _ML_(blksys_restart_MACH)
-.globl _ML_(blksys_complete_MACH)
-.globl _ML_(blksys_committed_MACH)
-.globl _ML_(blksys_finished_MACH)
-_ML_(blksys_setup_MACH): .quad MK_L_SCCLASS_N(MACH,1)
-_ML_(blksys_restart_MACH): .quad MK_L_SCCLASS_N(MACH,2)
-_ML_(blksys_complete_MACH): .quad MK_L_SCCLASS_N(MACH,3)
-_ML_(blksys_committed_MACH): .quad MK_L_SCCLASS_N(MACH,4)
-_ML_(blksys_finished_MACH): .quad MK_L_SCCLASS_N(MACH,5)
+.globl ML_(blksys_setup_MACH)
+.globl ML_(blksys_restart_MACH)
+.globl ML_(blksys_complete_MACH)
+.globl ML_(blksys_committed_MACH)
+.globl ML_(blksys_finished_MACH)
+ML_(blksys_setup_MACH): .quad MK_L_SCCLASS_N(MACH,1)
+ML_(blksys_restart_MACH): .quad MK_L_SCCLASS_N(MACH,2)
+ML_(blksys_complete_MACH): .quad MK_L_SCCLASS_N(MACH,3)
+ML_(blksys_committed_MACH): .quad MK_L_SCCLASS_N(MACH,4)
+ML_(blksys_finished_MACH): .quad MK_L_SCCLASS_N(MACH,5)
-.globl _ML_(blksys_setup_MDEP)
-.globl _ML_(blksys_restart_MDEP)
-.globl _ML_(blksys_complete_MDEP)
-.globl _ML_(blksys_committed_MDEP)
-.globl _ML_(blksys_finished_MDEP)
-_ML_(blksys_setup_MDEP): .quad MK_L_SCCLASS_N(MDEP,1)
-_ML_(blksys_restart_MDEP): .quad MK_L_SCCLASS_N(MDEP,2)
-_ML_(blksys_complete_MDEP): .quad MK_L_SCCLASS_N(MDEP,3)
-_ML_(blksys_committed_MDEP): .quad MK_L_SCCLASS_N(MDEP,4)
-_ML_(blksys_finished_MDEP): .quad MK_L_SCCLASS_N(MDEP,5)
+.globl ML_(blksys_setup_MDEP)
+.globl ML_(blksys_restart_MDEP)
+.globl ML_(blksys_complete_MDEP)
+.globl ML_(blksys_committed_MDEP)
+.globl ML_(blksys_finished_MDEP)
+ML_(blksys_setup_MDEP): .quad MK_L_SCCLASS_N(MDEP,1)
+ML_(blksys_restart_MDEP): .quad MK_L_SCCLASS_N(MDEP,2)
+ML_(blksys_complete_MDEP): .quad MK_L_SCCLASS_N(MDEP,3)
+ML_(blksys_committed_MDEP): .quad MK_L_SCCLASS_N(MDEP,4)
+ML_(blksys_finished_MDEP): .quad MK_L_SCCLASS_N(MDEP,5)
-.globl _ML_(blksys_setup_UNIX)
-.globl _ML_(blksys_restart_UNIX)
-.globl _ML_(blksys_complete_UNIX)
-.globl _ML_(blksys_committed_UNIX)
-.globl _ML_(blksys_finished_UNIX)
-_ML_(blksys_setup_UNIX): .quad MK_L_SCCLASS_N(UNIX,1)
-_ML_(blksys_restart_UNIX): .quad MK_L_SCCLASS_N(UNIX,2)
-_ML_(blksys_complete_UNIX): .quad MK_L_SCCLASS_N(UNIX,3)
-_ML_(blksys_committed_UNIX): .quad MK_L_SCCLASS_N(UNIX,4)
-_ML_(blksys_finished_UNIX): .quad MK_L_SCCLASS_N(UNIX,5)
+.globl ML_(blksys_setup_UNIX)
+.globl ML_(blksys_restart_UNIX)
+.globl ML_(blksys_complete_UNIX)
+.globl ML_(blksys_committed_UNIX)
+.globl ML_(blksys_finished_UNIX)
+ML_(blksys_setup_UNIX): .quad MK_L_SCCLASS_N(UNIX,1)
+ML_(blksys_restart_UNIX): .quad MK_L_SCCLASS_N(UNIX,2)
+ML_(blksys_complete_UNIX): .quad MK_L_SCCLASS_N(UNIX,3)
+ML_(blksys_committed_UNIX): .quad MK_L_SCCLASS_N(UNIX,4)
+ML_(blksys_finished_UNIX): .quad MK_L_SCCLASS_N(UNIX,5)
/*--------------------------------------------------------------------*/
Modified: branches/DARWIN/coregrind/m_syswrap/syscall-x86-darwin.S
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syscall-x86-darwin.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_syswrap/syscall-x86-darwin.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -61,7 +61,7 @@
Prototype:
- Int _ML_(do_syscall_for_client_WRK)(
+ Int ML_(do_syscall_for_client_WRK)(
Int syscallno, // ebp+8
void* guest_state, // ebp+12
const vki_sigset_t *sysmask, // ebp+16
@@ -190,16 +190,16 @@
.endmacro
-.globl _ML_(do_syscall_for_client_unix_WRK)
-_ML_(do_syscall_for_client_unix_WRK):
+.globl ML_(do_syscall_for_client_unix_WRK)
+ML_(do_syscall_for_client_unix_WRK):
DO_SYSCALL UNIX
-.globl _ML_(do_syscall_for_client_mach_WRK)
-_ML_(do_syscall_for_client_mach_WRK):
+.globl ML_(do_syscall_for_client_mach_WRK)
+ML_(do_syscall_for_client_mach_WRK):
DO_SYSCALL MACH
-.globl _ML_(do_syscall_for_client_mdep_WRK)
-_ML_(do_syscall_for_client_mdep_WRK):
+.globl ML_(do_syscall_for_client_mdep_WRK)
+ML_(do_syscall_for_client_mdep_WRK):
DO_SYSCALL MDEP
.data
@@ -212,38 +212,38 @@
#define FOO(scclass,labelno) L_##scclass##_##labelno
#define MK_L_SCCLASS_N(scclass,labelno) FOO(scclass,labelno)
-.globl _ML_(blksys_setup_MACH)
-.globl _ML_(blksys_restart_MACH)
-.globl _ML_(blksys_complete_MACH)
-.globl _ML_(blksys_committed_MACH)
-.globl _ML_(blksys_finished_MACH)
-_ML_(blksys_setup_MACH): .long MK_L_SCCLASS_N(MACH,1)
-_ML_(blksys_restart_MACH): .long MK_L_SCCLASS_N(MACH,2)
-_ML_(blksys_complete_MACH): .long MK_L_SCCLASS_N(MACH,3)
-_ML_(blksys_committed_MACH): .long MK_L_SCCLASS_N(MACH,4)
-_ML_(blksys_finished_MACH): .long MK_L_SCCLASS_N(MACH,5)
+.globl ML_(blksys_setup_MACH)
+.globl ML_(blksys_restart_MACH)
+.globl ML_(blksys_complete_MACH)
+.globl ML_(blksys_committed_MACH)
+.globl ML_(blksys_finished_MACH)
+ML_(blksys_setup_MACH): .long MK_L_SCCLASS_N(MACH,1)
+ML_(blksys_restart_MACH): .long MK_L_SCCLASS_N(MACH,2)
+ML_(blksys_complete_MACH): .long MK_L_SCCLASS_N(MACH,3)
+ML_(blksys_committed_MACH): .long MK_L_SCCLASS_N(MACH,4)
+ML_(blksys_finished_MACH): .long MK_L_SCCLASS_N(MACH,5)
-.globl _ML_(blksys_setup_MDEP)
-.globl _ML_(blksys_restart_MDEP)
-.globl _ML_(blksys_complete_MDEP)
-.globl _ML_(blksys_committed_MDEP)
-.globl _ML_(blksys_finished_MDEP)
-_ML_(blksys_setup_MDEP): .long MK_L_SCCLASS_N(MDEP,1)
-_ML_(blksys_restart_MDEP): .long MK_L_SCCLASS_N(MDEP,2)
-_ML_(blksys_complete_MDEP): .long MK_L_SCCLASS_N(MDEP,3)
-_ML_(blksys_committed_MDEP): .long MK_L_SCCLASS_N(MDEP,4)
-_ML_(blksys_finished_MDEP): .long MK_L_SCCLASS_N(MDEP,5)
+.globl ML_(blksys_setup_MDEP)
+.globl ML_(blksys_restart_MDEP)
+.globl ML_(blksys_complete_MDEP)
+.globl ML_(blksys_committed_MDEP)
+.globl ML_(blksys_finished_MDEP)
+ML_(blksys_setup_MDEP): .long MK_L_SCCLASS_N(MDEP,1)
+ML_(blksys_restart_MDEP): .long MK_L_SCCLASS_N(MDEP,2)
+ML_(blksys_complete_MDEP): .long MK_L_SCCLASS_N(MDEP,3)
+ML_(blksys_committed_MDEP): .long MK_L_SCCLASS_N(MDEP,4)
+ML_(blksys_finished_MDEP): .long MK_L_SCCLASS_N(MDEP,5)
-.globl _ML_(blksys_setup_UNIX)
-.globl _ML_(blksys_restart_UNIX)
-.globl _ML_(blksys_complete_UNIX)
-.globl _ML_(blksys_committed_UNIX)
-.globl _ML_(blksys_finished_UNIX)
-_ML_(blksys_setup_UNIX): .long MK_L_SCCLASS_N(UNIX,1)
-_ML_(blksys_restart_UNIX): .long MK_L_SCCLASS_N(UNIX,2)
-_ML_(blksys_complete_UNIX): .long MK_L_SCCLASS_N(UNIX,3)
-_ML_(blksys_committed_UNIX): .long MK_L_SCCLASS_N(UNIX,4)
-_ML_(blksys_finished_UNIX): .long MK_L_SCCLASS_N(UNIX,5)
+.globl ML_(blksys_setup_UNIX)
+.globl ML_(blksys_restart_UNIX)
+.globl ML_(blksys_complete_UNIX)
+.globl ML_(blksys_committed_UNIX)
+.globl ML_(blksys_finished_UNIX)
+ML_(blksys_setup_UNIX): .long MK_L_SCCLASS_N(UNIX,1)
+ML_(blksys_restart_UNIX): .long MK_L_SCCLASS_N(UNIX,2)
+ML_(blksys_complete_UNIX): .long MK_L_SCCLASS_N(UNIX,3)
+ML_(blksys_committed_UNIX): .long MK_L_SCCLASS_N(UNIX,4)
+ML_(blksys_finished_UNIX): .long MK_L_SCCLASS_N(UNIX,5)
Modified: branches/DARWIN/coregrind/m_trampoline.S
===================================================================
--- branches/DARWIN/coregrind/m_trampoline.S 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/m_trampoline.S 2009-04-24 04:37:30 UTC (rev 9600)
@@ -743,19 +743,19 @@
/* a leading page of unexecutable code */
.fill 2048, 2, 0x0b0f /* `ud2` */
-.globl _VG_(trampoline_stuff_start)
-_VG_(trampoline_stuff_start):
+.globl VG_(trampoline_stuff_start)
+VG_(trampoline_stuff_start):
-.globl _VG_(x86_darwin_SUBST_FOR_sigreturn)
-_VG_(x86_darwin_SUBST_FOR_sigreturn):
+.globl VG_(x86_darwin_SUBST_FOR_sigreturn)
+VG_(x86_darwin_SUBST_FOR_sigreturn):
/* XXX does this need to have any special form? (cf x86-linux
version) */
movl $ __NR_DARWIN_FAKE_SIGRETURN, %eax
int $0x80
ud2
-.globl _VG_(darwin_REDIR_FOR_strlen)
-_VG_(darwin_REDIR_FOR_strlen):
+.globl VG_(darwin_REDIR_FOR_strlen)
+VG_(darwin_REDIR_FOR_strlen):
movl 4(%esp), %edx
movl %edx, %eax
jmp 1f
@@ -767,8 +767,8 @@
subl %edx, %eax
ret
-.globl _VG_(darwin_REDIR_FOR_strcat)
-_VG_(darwin_REDIR_FOR_strcat):
+.globl VG_(darwin_REDIR_FOR_strcat)
+VG_(darwin_REDIR_FOR_strcat):
pushl %esi
movl 8(%esp), %esi
movl 12(%esp), %ecx
@@ -791,8 +791,8 @@
ret
-.globl _VG_(darwin_REDIR_FOR_strcmp)
-_VG_(darwin_REDIR_FOR_strcmp):
+.globl VG_(darwin_REDIR_FOR_strcmp)
+VG_(darwin_REDIR_FOR_strcmp):
movl 4(%esp), %edx
movl 8(%esp), %ecx
jmp 1f
@@ -812,8 +812,8 @@
ret
-.globl _VG_(darwin_REDIR_FOR_strcpy)
-_VG_(darwin_REDIR_FOR_strcpy):
+.globl VG_(darwin_REDIR_FOR_strcpy)
+VG_(darwin_REDIR_FOR_strcpy):
pushl %ebp
movl %esp, %ebp
pushl %esi
@@ -834,8 +834,8 @@
leave
ret
-.globl _VG_(darwin_REDIR_FOR_strlcat)
-_VG_(darwin_REDIR_FOR_strlcat):
+.globl VG_(darwin_REDIR_FOR_strlcat)
+VG_(darwin_REDIR_FOR_strlcat):
pushl %ebp
movl %esp, %ebp
pushl %edi
@@ -864,7 +864,7 @@
3:
movl 12(%ebp), %eax
movl %eax, (%esp)
- call _VG_(darwin_REDIR_FOR_strlen)
+ call VG_(darwin_REDIR_FOR_strlen)
jmp 7f
4:
cmpl $1, %esi
@@ -889,8 +889,8 @@
ret
-.globl _VG_(trampoline_stuff_end)
-_VG_(trampoline_stuff_end):
+.globl VG_(trampoline_stuff_end)
+VG_(trampoline_stuff_end):
/* a trailing page of unexecutable code */
.fill 2048, 2, 0x0b0f /* `ud2` */
@@ -903,11 +903,11 @@
/* a leading page of unexecutable code */
.fill 2048, 2, 0x0b0f /* `ud2` */
-.globl _VG_(trampoline_stuff_start)
-_VG_(trampoline_stuff_start):
+.globl VG_(trampoline_stuff_start)
+VG_(trampoline_stuff_start):
-.globl _VG_(darwin_REDIR_FOR_strlen)
-_VG_(darwin_REDIR_FOR_strlen):
+.globl VG_(darwin_REDIR_FOR_strlen)
+VG_(darwin_REDIR_FOR_strlen):
movq %rdi, %rax
jmp 1f
0:
@@ -918,8 +918,8 @@
subq %rdi, %rax
ret
-.globl _VG_(darwin_REDIR_FOR_strcat)
-_VG_(darwin_REDIR_FOR_strcat):
+.globl VG_(darwin_REDIR_FOR_strcat)
+VG_(darwin_REDIR_FOR_strcat):
movq %rdi, %rdx
jmp 1f
0:
@@ -938,8 +938,8 @@
ret
-.globl _VG_(darwin_REDIR_FOR_strcmp)
-_VG_(darwin_REDIR_FOR_strcmp):
+.globl VG_(darwin_REDIR_FOR_strcmp)
+VG_(darwin_REDIR_FOR_strcmp):
jmp 1f
0:
incq %rdi
@@ -956,8 +956,8 @@
subl %edx, %eax
ret
-.globl _VG_(darwin_REDIR_FOR_strcpy)
-_VG_(darwin_REDIR_FOR_strcpy):
+.globl VG_(darwin_REDIR_FOR_strcpy)
+VG_(darwin_REDIR_FOR_strcpy):
pushq %rbp
movq %rdi, %rdx
movq %rsp, %rbp
@@ -974,8 +974,8 @@
movq %rdi, %rax
ret
-.globl _VG_(darwin_REDIR_FOR_strlcat)
-_VG_(darwin_REDIR_FOR_strlcat):
+.globl VG_(darwin_REDIR_FOR_strlcat)
+VG_(darwin_REDIR_FOR_strlcat):
pushq %rbp
leaq (%rdx,%rdi), %rax
movq %rdi, %rcx
@@ -1000,7 +1000,7 @@
jmp 6f
3:
movq %rsi, %rdi
- call _VG_(darwin_REDIR_FOR_strlen)
+ call VG_(darwin_REDIR_FOR_strlen)
jmp 7f
4:
cmpq $1, %rdi
@@ -1023,14 +1023,14 @@
leave
ret
-.globl _VG_(darwin_REDIR_FOR_arc4random)
-_VG_(darwin_REDIR_FOR_arc4random):
+.globl VG_(darwin_REDIR_FOR_arc4random)
+VG_(darwin_REDIR_FOR_arc4random):
/* not very random, hope dyld won't mind */
movq $0x76616c6772696e64, %rax
ret
-.globl _VG_(trampoline_stuff_end)
-_VG_(trampoline_stuff_end):
+.globl VG_(trampoline_stuff_end)
+VG_(trampoline_stuff_end):
/* a trailing page of unexecutable code */
.fill 2048, 2, 0x0b0f /* `ud2` */
Modified: branches/DARWIN/coregrind/pub_core_basics.h
===================================================================
--- branches/DARWIN/coregrind/pub_core_basics.h 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/pub_core_basics.h 2009-04-24 04:37:30 UTC (rev 9600)
@@ -37,7 +37,6 @@
// everywhere.
//--------------------------------------------------------------------
-#include "pub_core_basics_asm.h"
#include "pub_tool_basics.h"
/* ---------------------------------------------------------------------
Modified: branches/DARWIN/coregrind/pub_core_basics_asm.h
===================================================================
--- branches/DARWIN/coregrind/pub_core_basics_asm.h 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/coregrind/pub_core_basics_asm.h 2009-04-24 04:37:30 UTC (rev 9600)
@@ -1,7 +1,6 @@
/*--------------------------------------------------------------------*/
-/*--- Header imported directly by every core asm file, and ---*/
-/*--- (via pub_core_basics.h) by every core C file. ---*/
+/*--- Header imported directly by every core asm file. ---*/
/*--- pub_core_basics_asm.h ---*/
/*--------------------------------------------------------------------*/
@@ -34,9 +33,8 @@
#define __PUB_CORE_BASICS_ASM_H
//--------------------------------------------------------------------
-// PURPOSE: This header should be imported by every single asm and
-// (indirectly) by every C file in the core. It contains really basic
-// things needed everywhere.
+// PURPOSE: This header should be imported by every single asm file
+// in the core. It contains really basic things needed everywhere.
//--------------------------------------------------------------------
#include "pub_tool_basics_asm.h"
Modified: branches/DARWIN/include/pub_tool_basics.h
===================================================================
--- branches/DARWIN/include/pub_tool_basics.h 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/include/pub_tool_basics.h 2009-04-24 04:37:30 UTC (rev 9600)
@@ -46,9 +46,6 @@
// Addr32, Addr64, HWord, HChar, Bool, False and True.
#include "libvex_basictypes.h"
-// For the VG_() macro
-#include "pub_tool_basics_asm.h"
-
// For varargs types
#include <stdarg.h>
@@ -57,6 +54,27 @@
/* ---------------------------------------------------------------------
+ symbol prefixing
+ ------------------------------------------------------------------ */
+
+// All symbols externally visible from Valgrind are prefixed
+// as specified here to avoid namespace conflict problems.
+//
+// VG_ is for symbols exported from modules. ML_ (module-local) is
+// for symbols which are not intended to be visible outside modules,
+// but which cannot be declared as C 'static's since they need to be
+// visible across C files within a given module. It is a mistake for
+// a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
+// Likewise it is a mistake for a VG_ name to appear in a priv_*.h
+// file.
+
+#define VGAPPEND(str1,str2) str1##str2
+
+#define VG_(str) VGAPPEND(vgPlain_, str)
+#define ML_(str) VGAPPEND(vgModuleLocal_, str)
+
+
+/* ---------------------------------------------------------------------
builtin types
------------------------------------------------------------------ */
Modified: branches/DARWIN/include/pub_tool_basics_asm.h
===================================================================
--- branches/DARWIN/include/pub_tool_basics_asm.h 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/include/pub_tool_basics_asm.h 2009-04-24 04:37:30 UTC (rev 9600)
@@ -1,7 +1,6 @@
/*--------------------------------------------------------------------*/
-/*--- Header imported directly by every tool asm file, and ---*/
-/*--- (via pub_tool_basics.h) by every tool C file. ---*/
+/*--- Header imported directly by every tool asm file. ---*/
/*--- pub_tool_basics_asm.h ---*/
/*--------------------------------------------------------------------*/
@@ -33,29 +32,32 @@
#ifndef __PUB_TOOL_BASICS_ASM_H
#define __PUB_TOOL_BASICS_ASM_H
-/* All symbols externally visible from Valgrind are prefixed
- as specified here to avoid namespace conflict problems. */
+// See pub_tool_basics.h for the purpose of these macros.
+//
+// Note that although the macros here (which are used in asm files) have the
+// same name as those in pub_tool_basics.h (which are used in C files), they
+// have different definitions. Actually, on Linux the definitions are the
+// same, but on Darwin they are different. The reason is that C names on
+// Darwin always get a '_' prepended to them by the compiler. But in order to
+// refer to them from asm code, we have to add the '_' ourselves. Having two
+// versions of these macros makes that difference transparent, so we can use
+// VG_/ML_ in both asm and C files.
+//
+// Note also that the exact prefixes used have to match those used in
+// pub_tool_basics.h.
#define VGAPPEND(str1,str2) str1##str2
+
+#if defined(VGO_linux) || defined(VGO_aix5)
+# define VG_(str) VGAPPEND( vgPlain_, str)
+# define ML_(str) VGAPPEND( vgModuleLocal_, str)
+#elif defined(VGO_darwin)
+# define VG_(str) VGAPPEND(_vgPlain_, str)
+# define ML_(str) VGAPPEND(_vgModuleLocal_, str)
+#else
+# error Unknown OS
+#endif
-/* VG_ is for symbols exported from modules. ML_ (module-local) is
- for symbols which are not intended to be visible outside modules,
- but which cannot be declared as C 'static's since they need to be
- visible across C files within a given module. It is a mistake for
- a ML_ name to appear in a pub_core_*.h or pub_tool_*.h file.
- Likewise it is a mistake for a VG_ name to appear in a priv_*.h
- file.
-*/
-#define VG_(str) VGAPPEND(vgPlain_, str)
-#define ML_(str) VGAPPEND(vgModuleLocal_, str)
-
-/* _VG_(foo) is the same as VG_(foo), except with a leading underscore.
- This is needed for assembly definitions on some platforms, and
- should not be used in C files.
-*/
-#define _VG_(str) VGAPPEND(_vgPlain_, str)
-#define _ML_(str) VGAPPEND(_vgModuleLocal_, str)
-
#endif /* __PUB_TOOL_BASICS_ASM_H */
/*--------------------------------------------------------------------*/
Modified: branches/DARWIN/tests/asm.h
===================================================================
--- branches/DARWIN/tests/asm.h 2009-04-24 04:28:15 UTC (rev 9599)
+++ branches/DARWIN/tests/asm.h 2009-04-24 04:37:30 UTC (rev 9600)
@@ -13,7 +13,7 @@
// This one is for use in asm files.
#if defined(VGO_darwin)
-#define VG_SYM_ASM(x) _#x
+#define VG_SYM_ASM(x) _##x
#else
#define VG_SYM_ASM(x) x
#endif
|
|
From: <sv...@va...> - 2009-04-24 04:28:18
|
Author: njn
Date: 2009-04-24 05:28:15 +0100 (Fri, 24 Apr 2009)
New Revision: 9599
Log:
Removed some Darwin-specific code that crept in from the DARWIN branch.
Modified:
trunk/tests/asm.h
trunk/tests/malloc.h
trunk/tests/sys_mman.h
Modified: trunk/tests/asm.h
===================================================================
--- trunk/tests/asm.h 2009-04-24 04:12:28 UTC (rev 9598)
+++ trunk/tests/asm.h 2009-04-24 04:28:15 UTC (rev 9599)
@@ -5,15 +5,7 @@
// general, any symbol named in asm code should be wrapped by VG_SYM.
// This one is for use in inline asm in C files.
-#if defined(VGO_darwin)
-#define VG_SYM(x) "_"#x
-#else
#define VG_SYM(x) #x
-#endif
// This one is for use in asm files.
-#if defined(VGO_darwin)
#define VG_SYM_ASM(x) _#x
-#else
-#define VG_SYM_ASM(x) x
-#endif
Modified: trunk/tests/malloc.h
===================================================================
--- trunk/tests/malloc.h 2009-04-24 04:12:28 UTC (rev 9598)
+++ trunk/tests/malloc.h 2009-04-24 04:28:15 UTC (rev 9599)
@@ -1,11 +1,7 @@
// Replacement for malloc.h which factors out platform differences.
#include <stdlib.h>
-#if defined(VGO_darwin)
-# include <malloc/malloc.h>
-#else
-# include <malloc.h>
-#endif
+#include <malloc.h>
#include <assert.h>
@@ -14,12 +10,7 @@
static void* memalign16(size_t szB)
{
void* x;
-#if defined(VGO_darwin)
- // Darwin lacks memalign, but its malloc is always 16-aligned anyway.
- x = malloc(szB);
-#else
x = memalign(16, szB);
-#endif
assert(x);
assert(0 == ((16-1) & (unsigned long)x));
return x;
Modified: trunk/tests/sys_mman.h
===================================================================
--- trunk/tests/sys_mman.h 2009-04-24 04:12:28 UTC (rev 9598)
+++ trunk/tests/sys_mman.h 2009-04-24 04:28:15 UTC (rev 9599)
@@ -2,11 +2,7 @@
#include <sys/mman.h>
-#if defined(VGO_darwin)
-# define MAP_ANONYMOUS MAP_ANON
-#endif
-
#include <assert.h>
#include <unistd.h>
|
|
From: <sv...@va...> - 2009-04-24 04:12:35
|
Author: njn Date: 2009-04-24 05:12:28 +0100 (Fri, 24 Apr 2009) New Revision: 9598 Log: Merged r9596 (build system tweaks, minus the Darwin bits) from the DARWIN branch. Added: trunk/Makefile.core-tool.am Removed: trunk/Makefile.install.am Modified: trunk/Makefile.am trunk/Makefile.tool.am trunk/coregrind/Makefile.am trunk/none/tests/ppc32/Makefile.am trunk/none/tests/ppc64/Makefile.am trunk/none/tests/x86/Makefile.am Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/Makefile.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -106,7 +106,7 @@ rm -f $(inplacedir)/default.supp ln -s ../default.supp $(inplacedir) -distclean-local: +clean-local: rm -rf $(inplacedir) # These list the bits of vex we need to install Copied: trunk/Makefile.core-tool.am (from rev 9596, branches/DARWIN/Makefile.core-tool.am) =================================================================== --- trunk/Makefile.core-tool.am (rev 0) +++ trunk/Makefile.core-tool.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -0,0 +1,26 @@ +# This file contains things shared by coregrind/Makefile.am and tool +# Makefile.am files. + +# This is used by coregrind/Makefile.am and Makefile.tool.am for doing +# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir. +# It needs to be depended on by an 'all-local' rule. +inplace-noinst_PROGRAMS: + if [ -n "$(noinst_PROGRAMS)" ] ; then \ + mkdir -p $(inplacedir); \ + for f in $(noinst_PROGRAMS) ; do \ + rm -f $(inplacedir)/$$f; \ + ln -f -s ../$(subdir)/$$f $(inplacedir); \ + done ; \ + fi + +# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing +# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. +# It needs to be depended on by an 'install-exec-local' rule. +install-noinst_PROGRAMS: + if [ -n "$(noinst_PROGRAMS)" ] ; then \ + $(mkinstalldirs) $(DESTDIR)$(valdir); \ + for f in $(noinst_PROGRAMS); do \ + $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir); \ + done ; \ + fi + Deleted: trunk/Makefile.install.am =================================================================== --- trunk/Makefile.install.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/Makefile.install.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -1,23 +0,0 @@ -# This is used by coregrind/Makefile.am and Makefile.tool.am for doing -# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir. -# It needs to be depended on by an 'all-local' rule. -inplace-noinst_PROGRAMS: - if [ -n "$(noinst_PROGRAMS)" ] ; then \ - mkdir -p $(inplacedir); \ - for f in $(noinst_PROGRAMS) ; do \ - rm -f $(inplacedir)/$$f; \ - ln -f -s ../$(subdir)/$$f $(inplacedir); \ - done ; \ - fi - -# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing -# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. -# It needs to be depended on by an 'install-exec-local' rule. -install-noinst_PROGRAMS: - if [ -n "$(noinst_PROGRAMS)" ] ; then \ - $(mkinstalldirs) $(DESTDIR)$(valdir); \ - for f in $(noinst_PROGRAMS); do \ - $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir); \ - done ; \ - fi - Modified: trunk/Makefile.tool.am =================================================================== --- trunk/Makefile.tool.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/Makefile.tool.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -3,7 +3,7 @@ include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.flags.am -include $(top_srcdir)/Makefile.install.am +include $(top_srcdir)/Makefile.core-tool.am LIBREPLACEMALLOC_X86_LINUX = \ Modified: trunk/coregrind/Makefile.am =================================================================== --- trunk/coregrind/Makefile.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/coregrind/Makefile.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -5,7 +5,7 @@ include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.flags.am -include $(top_srcdir)/Makefile.install.am +include $(top_srcdir)/Makefile.core-tool.am AM_CPPFLAGS_CORE_COMMON = \ Modified: trunk/none/tests/ppc32/Makefile.am =================================================================== --- trunk/none/tests/ppc32/Makefile.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/none/tests/ppc32/Makefile.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -33,6 +33,6 @@ AM_CXXFLAGS += @FLAG_M32@ AM_CCASFLAGS = @FLAG_M32@ -jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M32@ -testVMX_CFLAGS = -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \ +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec @FLAG_M32@ +testVMX_CFLAGS = $(AM_CFLAGS) -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \ -DGCC_COMPILER @FLAG_M32@ Modified: trunk/none/tests/ppc64/Makefile.am =================================================================== --- trunk/none/tests/ppc64/Makefile.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/none/tests/ppc64/Makefile.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -20,4 +20,4 @@ AM_CXXFLAGS += @FLAG_M64@ AM_CCASFLAGS = @FLAG_M64@ -jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M64@ +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec @FLAG_M64@ Modified: trunk/none/tests/x86/Makefile.am =================================================================== --- trunk/none/tests/x86/Makefile.am 2009-04-24 04:02:59 UTC (rev 9597) +++ trunk/none/tests/x86/Makefile.am 2009-04-24 04:12:28 UTC (rev 9598) @@ -97,7 +97,7 @@ # generic C ones cpuid_SOURCES = cpuid_c.c cpuid_s.s # fpu_lazy_eflags must use these flags -- the bug only occurred with them -fpu_lazy_eflags_CFLAGS = @FLAG_M32@ -O2 -march=pentiumpro +fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro fxtract_LDADD = -lm insn_basic_SOURCES = insn_basic.def insn_basic_LDADD = -lm |
|
From: <sv...@va...> - 2009-04-24 04:03:03
|
Author: njn Date: 2009-04-24 05:02:59 +0100 (Fri, 24 Apr 2009) New Revision: 9597 Log: Merged r9587..r9590 and r9593..9595 (DRD optimisations and test tweaks) from the trunk. Modified: branches/DARWIN/drd/drd_bitmap.c branches/DARWIN/drd/drd_bitmap.h branches/DARWIN/drd/drd_thread.c branches/DARWIN/drd/tests/drd_bitmap_test.c branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-32bit branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-64bit branches/DARWIN/drd/tests/tc19_shadowmem.vgtest [... diff too large to include ...] |
|
From: <sv...@va...> - 2009-04-24 03:55:51
|
Author: njn Date: 2009-04-24 04:55:44 +0100 (Fri, 24 Apr 2009) New Revision: 9596 Log: Cleaned up the build system a bit -- factored out some duplicated dSYM-handling code. Renamed Makefile.install.am as Makefile.core-tool.am accordingly. Also add AM_CFLAGS into the CFLAGS of some tests that should have had it. That fixes two of the four tests broken by r9586. Also made "make clean" delete the .in_place directory, which it probably should have always done, but didn't prior to now. Added: branches/DARWIN/Makefile.core-tool.am Removed: branches/DARWIN/Makefile.install.am Modified: branches/DARWIN/Makefile.am branches/DARWIN/Makefile.tool.am branches/DARWIN/coregrind/Makefile.am branches/DARWIN/none/tests/Makefile.am branches/DARWIN/none/tests/ppc32/Makefile.am branches/DARWIN/none/tests/ppc64/Makefile.am branches/DARWIN/none/tests/x86/Makefile.am Modified: branches/DARWIN/Makefile.am =================================================================== --- branches/DARWIN/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -110,10 +110,8 @@ rm -f $(inplacedir)/default.supp ln -s ../default.supp $(inplacedir) -distclean-local: - rm -rf $(inplacedir) clean-local: - rm -rf .in_place/*.dSYM + rm -rf $(inplacedir) # These list the bits of vex we need to install Copied: branches/DARWIN/Makefile.core-tool.am (from rev 9595, branches/DARWIN/Makefile.install.am) =================================================================== --- branches/DARWIN/Makefile.core-tool.am (rev 0) +++ branches/DARWIN/Makefile.core-tool.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -0,0 +1,65 @@ +# This file contains things shared by coregrind/Makefile.am and tool +# Makefile.am files. + +# See Makefile.tool-tests.am for an explanation of dSYMs. +build-noinst_DSYMS: + for f in $(noinst_DSYMS); do \ + if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \ + echo "dsymutil $$f"; \ + dsymutil $$f; \ + fi; \ + done + +# This is used by coregrind/Makefile.am and Makefile.tool.am for doing +# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir. +# It needs to be depended on by an 'all-local' rule. +inplace-noinst_PROGRAMS: + if [ -n "$(noinst_PROGRAMS)" ] ; then \ + mkdir -p $(inplacedir); \ + for f in $(noinst_PROGRAMS) ; do \ + rm -f $(inplacedir)/$$f; \ + ln -f -s ../$(subdir)/$$f $(inplacedir); \ + done ; \ + fi + +# Similar to inplace-noinst_PROGRAMS +inplace-noinst_DSYMS: build-noinst_DSYMS + if [ -n "$(noinst_DSYMS)" ] ; then \ + mkdir -p $(inplacedir); \ + for f in $(noinst_DSYMS); do \ + rm -f $(inplacedir)/$$f.dSYM; \ + ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \ + done ; \ + fi + +# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing +# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. +# It needs to be depended on by an 'install-exec-local' rule. +install-noinst_PROGRAMS: + if [ -n "$(noinst_PROGRAMS)" ] ; then \ + $(mkinstalldirs) $(DESTDIR)$(valdir); \ + for f in $(noinst_PROGRAMS); do \ + $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir); \ + done ; \ + fi + +# Similar to install-noinst_PROGRAMS. +# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with +# directories. XXX: not sure whether the resulting permissions will be +# correct when using 'cp -R'... +install-noinst_DSYMS: build-noinst_DSYMS + if [ -n "$(noinst_DSYMS)" ] ; then \ + $(mkinstalldirs) $(DESTDIR)$(valdir); \ + for f in $(noinst_DSYMS); do \ + cp -R $$f.dSYM $(DESTDIR)$(valdir); \ + done ; \ + fi + +# This needs to be depended on by a 'clean-local' rule. +clean-noinst_DSYMS: + for f in $(noinst_DSYMS); do \ + rm -rf $$f.dSYM; \ + done + + + Deleted: branches/DARWIN/Makefile.install.am =================================================================== --- branches/DARWIN/Makefile.install.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/Makefile.install.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -1,23 +0,0 @@ -# This is used by coregrind/Makefile.am and Makefile.tool.am for doing -# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir. -# It needs to be depended on by an 'all-local' rule. -inplace-noinst_PROGRAMS: - if [ -n "$(noinst_PROGRAMS)" ] ; then \ - mkdir -p $(inplacedir); \ - for f in $(noinst_PROGRAMS) ; do \ - rm -f $(inplacedir)/$$f; \ - ln -f -s ../$(subdir)/$$f $(inplacedir); \ - done ; \ - fi - -# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing -# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. -# It needs to be depended on by an 'install-exec-local' rule. -install-noinst_PROGRAMS: - if [ -n "$(noinst_PROGRAMS)" ] ; then \ - $(mkinstalldirs) $(DESTDIR)$(valdir); \ - for f in $(noinst_PROGRAMS); do \ - $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir); \ - done ; \ - fi - Modified: branches/DARWIN/Makefile.tool.am =================================================================== --- branches/DARWIN/Makefile.tool.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/Makefile.tool.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -3,7 +3,7 @@ include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.flags.am -include $(top_srcdir)/Makefile.install.am +include $(top_srcdir)/Makefile.core-tool.am LIBREPLACEMALLOC_X86_LINUX = \ @@ -204,41 +204,10 @@ $(LIBREPLACEMALLOC_AMD64_DARWIN) -# See Makefile.tool-tests.am for an explanation of dSYMs. -build-noinst_DSYMS: - for f in $(noinst_DSYMS); do \ - if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \ - echo "dsymutil $$f"; \ - dsymutil $$f; \ - fi; \ - done -inplace-noinst_DSYMS: build-noinst_DSYMS - if [ -n "$(noinst_DSYMS)" ] ; then \ - mkdir -p $(inplacedir); \ - for f in $(noinst_DSYMS); do \ - rm -f $(inplacedir)/$$f.dSYM; \ - ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \ - done ; \ - fi - -# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with -# directories. XXX: not sure whether the resulting permissions will be -# correct when using 'cp -R'... -install-noinst_DSYMS: build-noinst_DSYMS - if [ -n "$(noinst_DSYMS)" ] ; then \ - $(mkinstalldirs) $(DESTDIR)$(valdir); \ - for f in $(noinst_DSYMS); do \ - cp -R $$f.dSYM $(DESTDIR)$(valdir); \ - done ; \ - fi - all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS -clean-local: - for f in $(noinst_DSYMS); do \ - rm -rf $$f.dSYM; \ - done +clean-local: clean-noinst_DSYMS install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS Modified: branches/DARWIN/coregrind/Makefile.am =================================================================== --- branches/DARWIN/coregrind/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/coregrind/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -5,7 +5,7 @@ include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.flags.am -include $(top_srcdir)/Makefile.install.am +include $(top_srcdir)/Makefile.core-tool.am AM_CPPFLAGS_CORE_COMMON = \ -I$(top_srcdir)/coregrind \ @@ -40,9 +40,9 @@ noinst_PROGRAMS = +noinst_DSYMS = pkglib_LIBRARIES = LIBVEX = -DSYMUTIL_ME_TOO = if VGCONF_PLATFORMS_INCLUDE_X86_LINUX noinst_PROGRAMS += vgpreload_core-x86-linux.so @@ -82,16 +82,16 @@ if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN noinst_PROGRAMS += vgpreload_core-x86-darwin.so +noinst_DSYMS += vgpreload_core-x86-darwin.so pkglib_LIBRARIES += libcoregrind-x86-darwin.a libreplacemalloc_toolpreload-x86-darwin.a LIBVEX += libvex-x86-darwin.a -DSYMUTIL_ME_TOO += vgpreload_core-x86-darwin.so endif if VGCONF_PLATFORMS_INCLUDE_AMD64_DARWIN noinst_PROGRAMS += vgpreload_core-amd64-darwin.so +noinst_DSYMS += vgpreload_core-amd64-darwin.so pkglib_LIBRARIES += libcoregrind-amd64-darwin.a libreplacemalloc_toolpreload-amd64-darwin.a LIBVEX += libvex-amd64-darwin.a -DSYMUTIL_ME_TOO += vgpreload_core-amd64-darwin.so endif @@ -586,20 +586,15 @@ vgpreload_core_amd64_darwin_so_CFLAGS = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PIC) vgpreload_core_amd64_darwin_so_LDFLAGS = $(PRELOAD_LDFLAGS_AMD64_DARWIN) -all-local: inplace-noinst_PROGRAMS - for f in $(DSYMUTIL_ME_TOO); do \ - echo "dsymutil $$f"; \ - dsymutil $$f; \ - done +all-local: inplace-noinst_PROGRAMS inplace-noinst_DSYMS -clean-local: +clean-local: clean-noinst_DSYMS $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" clean rm -f $(mach_srcs) $(mach_server_srcs) $(mach_hdrs) - rm -rf vgpreload_core-*.dSYM # Nb: The loop installs the libvex library for possible use by standalone # tools. -install-exec-local: install-noinst_PROGRAMS +install-exec-local: install-noinst_PROGRAMS install-noinst_DSYMS for v in $(LIBVEX) ; do \ $(INSTALL_DATA) @VEX_DIR@/$$v $(DESTDIR)$(valdir) ; \ done Modified: branches/DARWIN/none/tests/Makefile.am =================================================================== --- branches/DARWIN/none/tests/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/none/tests/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -187,7 +187,7 @@ floored_LDADD = -lm manythreads_LDADD = -lpthread if VGCONF_OS_IS_DARWIN - nestedfns_CFLAGS = -fnested-functions + nestedfns_CFLAGS = $(AM_CFLAGS) -fnested-functions else mq_LDADD = -lrt endif Modified: branches/DARWIN/none/tests/ppc32/Makefile.am =================================================================== --- branches/DARWIN/none/tests/ppc32/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/none/tests/ppc32/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -33,6 +33,6 @@ AM_CXXFLAGS += @FLAG_M32@ AM_CCASFLAGS = @FLAG_M32@ -jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M32@ -testVMX_CFLAGS = -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \ +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec @FLAG_M32@ +testVMX_CFLAGS = $(AM_CFLAGS) -O -g -Wall -maltivec -mabi=altivec -DALTIVEC \ -DGCC_COMPILER @FLAG_M32@ Modified: branches/DARWIN/none/tests/ppc64/Makefile.am =================================================================== --- branches/DARWIN/none/tests/ppc64/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/none/tests/ppc64/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -20,4 +20,4 @@ AM_CXXFLAGS += @FLAG_M64@ AM_CCASFLAGS = @FLAG_M64@ -jm_insns_CFLAGS = -Winline -Wall -O -g -mregnames -maltivec @FLAG_M64@ +jm_insns_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames -maltivec @FLAG_M64@ Modified: branches/DARWIN/none/tests/x86/Makefile.am =================================================================== --- branches/DARWIN/none/tests/x86/Makefile.am 2009-04-23 20:07:23 UTC (rev 9595) +++ branches/DARWIN/none/tests/x86/Makefile.am 2009-04-24 03:55:44 UTC (rev 9596) @@ -108,7 +108,7 @@ cpuid_SOURCES = cpuid_c.c cpuid_s.s # fpu_lazy_eflags must use these flags -- the bug only occurred with them. -fpu_lazy_eflags_CFLAGS = @FLAG_M32@ -O2 -march=pentiumpro +fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro fxtract_LDADD = -lm insn_basic_SOURCES = insn_basic.def insn_basic_LDADD = -lm |
|
From: Tom H. <th...@cy...> - 2009-04-24 02:54:17
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-04-24 03:05:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 478 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-04-24 02:38:04
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-04-24 03:10:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 484 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: Nicholas N. <n.n...@gm...> - 2009-04-24 01:54:00
|
On Fri, Apr 24, 2009 at 5:49 AM, Bart Van Assche <bar...@gm...> wrote: > On Thu, Apr 23, 2009 at 5:10 AM, Nicholas Nethercote > <n.n...@gm...> wrote: >> Some time in the last few days, on my ubuntu box, >> helgrind/tests/tc19_shadowmem started running incredibly slowly under >> DRD. It used to take a few seconds, now it takes about 5 minutes. It >> happens with both 32-bit and 64-bit builds. It's still fast under >> Helgrind. > > You are not doing justice to DRD with such comments. Anyone who looks > at user comments or at the bug database can see that since the time > DRD is no longer an experimental tool it is doing a great job. The > performance of the DRD tool is acceptable: for some programs it runs > slightly faster than Helgrind and for some other it runs slightly > slower. The program tc19_shadowmem is an exception for which DRD runs > significantly slower than Helgrind. > > Your e-mail creates the impression that at some time there would have > been a change in DRD that caused it to process tc19_shadowmem a lot > slower than before. This is not correct. About a month ago (March 10, > 2009) you informed me via private e-mail that there was an error in > the file drd/tests/tc19_shadowmem.vgtest which caused this test to be > skipped by DRD. This error was fixed on the same day (r9337) and since > then during the regression tests DRD runs the program tc19_shadowmem. I wasn't aiming to criticise DRD, I was aiming to understand some mysterious behaviour on my machine. I made this clear in my original email: "The weird thing is that it doesn't appear due to a change in Valgrind. No recent changes seem like they could possibly have caused this... I'm wondering if a software update on my machine could have caused it" Moving on, I did some further investigating, and found some very strange behaviour: - If I run 'make regtest', it takes 6:08 minutes - If I run '/usr/bin/perl tests/vg_regtest memcheck cachegrind callgrind massif lackey none helgrind drd exp-omega exp-ptrcheck', it takes 11:07 minutes. This command is exactly what is run by 'make regtest', after it runs the 'check' target. I then tried removing drd/tests/tc19_shadowtest: - 'make regtest' takes 5:03 minutes - '/usr/inb/perl tests/vg_regtest ...' takes 6:23 minutes So the conclusion is that running the regtests via "make check" somehow makes drd/tests/tc19_shadowmem *much* faster (ie. 1 minute instead of 5), and also makes all the other tests a little bit faster (ie. 1 minute faster for the rest of the regtests). It's all repeatable, too. This makes no sense to me at all. So I guess nothing has changed, either in DRD or on my system; tc19_shadowmem probably always did take almost 5 minutes by itself, but probably I only ever ran it under "make regtest" before now, never by itself. > After having read your e-mail I started looking at why DRD was > processing tc19_shadowmem so slowly. By this time DRD should process > this test program significantly faster -- on my PC it is now processed > in 50s. After updating, I get these results: - drd/tests/tc19_shadowmem by itself takes 17s - 'make regtest' takes 4:51 minutes - '/usr/inb/perl tests/vg_regtest ...' takes 5:08 minutes 5 minutes to 17 seconds is a big improvement! Thanks for looking into it. The difference between the 'make regtest' time and the 'perl tests/vg_regtest ...' time is much smaller too, which is good for my sanity. Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-04-23 23:12:34
|
---------- Forwarded message ---------- From: Michael Sweet <ms...@ap...> Date: Fri, Apr 24, 2009 at 8:41 AM Subject: Re: [Valgrind-developers] ping on bug report To: Nicholas Nethercote <n.n...@gm...> On Apr 23, 2009, at 3:24 PM, Nicholas Nethercote wrote: ... (If anyone else has relevant use-cases they would encounter, please speak up!) FWIW, the CUPS "make test" target uses --trace-children=yes when running with valgrind specifically so we can test all of the child processes (print filters, generally) in their "native" environment when run from CUPS - we wouldn't run in any other mode. For the rest of the software I've run through valgrind (maybe a couple dozen all together), I can only think of 1 case that I specifically didn't want to trace children - EPM, which runs the corresponding package maker program after creating all of the format-specific support files/directories. ________________________________________ Michael R Sweet, Senior Printing System Engineer |
|
From: Nicholas N. <n.n...@gm...> - 2009-04-23 22:24:55
|
On Thu, Apr 23, 2009 at 7:43 PM, Julian Seward <js...@ac...> wrote: > >> I wonder >> if tracing all children is a better default than tracing no children. > > Euh .. I prefer not to do that. You could wind up tracing > a huge tree of processes unexpectedly, if not careful. I'm not convinced this is a significant risk. Can you give an example? The most common relevant case I'm aware of is when a script or scripts are used to start up a program. In that case you almost always want to trace the children, because you're not very interested in the scripts. The current behaviour is confusing -- we have a FAQ about it, just today the submitter of bug #188735 hit it, if you don't know about the behaviour it's not clear from Valgrind's behaviour that you're not tracing the children. Even for experts it's easy to get wrong -- I frequently find myself forgetting the --trace-children and having to re-run things. (In fact, you really want a whitelist approach for this. Eg. "valgrind --white-list='/bin/the-real-app *'" which skips all the startup scripts. I realised last night that this could be faked by running Nulgrind (possibly with --quiet) on all the processes that don't match the white-list. Black-lists are still useful -- Dan K mentioned the "skip all Python sub-processes" use case -- so having both would be good, but the interactions would have to be carefully defined.) On the other hand, if we did trace children by default and hit the hypothetical big-tree-of-processes example, at least it's clear what's happening, because you get multiple start-up messages with different PIDs. (If anyone else has relevant use-cases they would encounter, please speak up!) > How about this. It gives the kind of flexibility you want, whilst > preserving existing behaviour. (remember the kinds of protestation > we've had in the past w.r.t. changing meaning/behaviour of > command line options) Yeah, that does make things difficult. Maybe we would deprecate --trace-children, keep it around for one more major release and then kill it. In general I don't like having multiple options that interact, often (as in this case) you can avoid it. Nick |
|
From: <sv...@va...> - 2009-04-23 20:07:30
|
Author: bart
Date: 2009-04-23 21:07:23 +0100 (Thu, 23 Apr 2009)
New Revision: 9595
Log:
Another performance optimization.
Modified:
trunk/drd/drd_bitmap.c
Modified: trunk/drd/drd_bitmap.c
===================================================================
--- trunk/drd/drd_bitmap.c 2009-04-23 19:23:09 UTC (rev 9594)
+++ trunk/drd/drd_bitmap.c 2009-04-23 20:07:23 UTC (rev 9595)
@@ -255,15 +255,14 @@
Bool DRD_(bm_has)(struct bitmap* const bm, const Addr a1, const Addr a2,
const BmAccessTypeT access_type)
{
- Addr b;
- for (b = a1; b < a2; b++)
- {
- if (! DRD_(bm_has_1)(bm, b, access_type))
- {
- return False;
- }
- }
- return True;
+#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
+ tl_assert(access_type == eLoad || access_type == eStore);
+#endif
+
+ if (access_type == eLoad)
+ return DRD_(bm_has_any_load)(bm, a1, a2);
+ else
+ return DRD_(bm_has_any_store)(bm, a1, a2);
}
Bool
|
|
From: Bart V. A. <bar...@gm...> - 2009-04-23 19:50:06
|
On Thu, Apr 23, 2009 at 5:10 AM, Nicholas Nethercote <n.n...@gm...> wrote: > Some time in the last few days, on my ubuntu box, > helgrind/tests/tc19_shadowmem started running incredibly slowly under > DRD. It used to take a few seconds, now it takes about 5 minutes. It > happens with both 32-bit and 64-bit builds. It's still fast under > Helgrind. You are not doing justice to DRD with such comments. Anyone who looks at user comments or at the bug database can see that since the time DRD is no longer an experimental tool it is doing a great job. The performance of the DRD tool is acceptable: for some programs it runs slightly faster than Helgrind and for some other it runs slightly slower. The program tc19_shadowmem is an exception for which DRD runs significantly slower than Helgrind. Your e-mail creates the impression that at some time there would have been a change in DRD that caused it to process tc19_shadowmem a lot slower than before. This is not correct. About a month ago (March 10, 2009) you informed me via private e-mail that there was an error in the file drd/tests/tc19_shadowmem.vgtest which caused this test to be skipped by DRD. This error was fixed on the same day (r9337) and since then during the regression tests DRD runs the program tc19_shadowmem. After having read your e-mail I started looking at why DRD was processing tc19_shadowmem so slowly. By this time DRD should process this test program significantly faster -- on my PC it is now processed in 50s. Bart. |
|
From: <sv...@va...> - 2009-04-23 19:23:21
|
Author: bart
Date: 2009-04-23 20:23:09 +0100 (Thu, 23 Apr 2009)
New Revision: 9594
Log:
Simplified bm_clear* implementations.
Modified:
trunk/drd/drd_bitmap.c
trunk/drd/drd_bitmap.h
Modified: trunk/drd/drd_bitmap.c
===================================================================
--- trunk/drd/drd_bitmap.c 2009-04-23 19:21:10 UTC (rev 9593)
+++ trunk/drd/drd_bitmap.c 2009-04-23 19:23:09 UTC (rev 9594)
@@ -459,9 +459,14 @@
tl_assert(a1);
tl_assert(a1 <= a2);
+#if 0
+ if (a2 - a1 >= ADDR0_COUNT)
+ VG_(message)(Vg_DebugMsg, "bm_clear(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
+ bm, a1, a2, a2 - a1);
+#endif
+
for (b = a1; b < a2; b = b_next)
{
- struct bitmap2ref* p2ref;
struct bitmap2* p2;
Addr c;
@@ -469,30 +474,17 @@
tl_assert(a1 <= b && b < a2);
#endif
- p2ref = bm2_lookup_next_exclusive(bm, b >> ADDR0_BITS);
- if (p2ref == 0)
- break;
+ p2 = bm2_lookup_exclusive(bm, b >> ADDR0_BITS);
- p2 = p2ref->bm2;
-
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(p2ref->addr >= (b >> ADDR0_BITS));
-#endif
- b = p2ref->addr << ADDR0_BITS;
- if (b < a1)
- b = a1;
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(a1 <= b);
-#endif
- if (b >= a2)
- break;
-
b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
if (b_next > a2)
{
b_next = a2;
}
+ if (p2 == 0)
+ continue;
+
c = b;
/* If the first address in the bitmap that must be cleared does not */
/* start on an UWord boundary, start clearing the first addresses. */
@@ -545,9 +537,14 @@
tl_assert(a1);
tl_assert(a1 <= a2);
+#if 0
+ if (a2 - a1 >= ADDR0_COUNT)
+ VG_(message)(Vg_DebugMsg, "bm_clear_load(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
+ bm, a1, a2, a2 - a1);
+#endif
+
for (b = a1; b < a2; b = b_next)
{
- struct bitmap2ref* p2ref;
struct bitmap2* p2;
Addr c;
@@ -555,30 +552,17 @@
tl_assert(a1 <= b && b < a2);
#endif
- p2ref = bm2_lookup_next_exclusive(bm, b >> ADDR0_BITS);
- if (p2ref == 0)
- break;
+ p2 = bm2_lookup_exclusive(bm, b >> ADDR0_BITS);
- p2 = p2ref->bm2;
-
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(p2ref->addr >= (b >> ADDR0_BITS));
-#endif
- b = p2ref->addr << ADDR0_BITS;
- if (b < a1)
- b = a1;
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(a1 <= b);
-#endif
- if (b >= a2)
- break;
-
b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
if (b_next > a2)
{
b_next = a2;
}
+ if (p2 == 0)
+ continue;
+
c = b;
/* If the first address in the bitmap that must be cleared does not */
/* start on an UWord boundary, start clearing the first addresses. */
@@ -642,9 +626,14 @@
tl_assert(a1);
tl_assert(a1 <= a2);
+#if 0
+ if (a2 - a1 >= ADDR0_COUNT)
+ VG_(message)(Vg_DebugMsg, "bm_clear_store(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
+ bm, a1, a2, a2 - a1);
+#endif
+
for (b = a1; b < a2; b = b_next)
{
- struct bitmap2ref* p2ref;
struct bitmap2* p2;
Addr c;
@@ -652,30 +641,17 @@
tl_assert(a1 <= b && b < a2);
#endif
- p2ref = bm2_lookup_next_exclusive(bm, b >> ADDR0_BITS);
- if (p2ref == 0)
- break;
+ p2 = bm2_lookup_exclusive(bm, b >> ADDR0_BITS);
- p2 = p2ref->bm2;
-
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(p2ref->addr >= (b >> ADDR0_BITS));
-#endif
- b = p2ref->addr << ADDR0_BITS;
- if (b < a1)
- b = a1;
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(a1 <= b);
-#endif
- if (b >= a2)
- break;
-
b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
if (b_next > a2)
{
b_next = a2;
}
+ if (p2 == 0)
+ continue;
+
c = b;
/* If the first address in the bitmap that must be cleared does not */
/* start on an UWord boundary, start clearing the first addresses. */
Modified: trunk/drd/drd_bitmap.h
===================================================================
--- trunk/drd/drd_bitmap.h 2009-04-23 19:21:10 UTC (rev 9593)
+++ trunk/drd/drd_bitmap.h 2009-04-23 19:23:09 UTC (rev 9594)
@@ -428,41 +428,6 @@
return bm2;
}
-/** Look up the first address in bitmap bm that is greater than or equal to
- * a1 and return a pointer to a second level bitmap that is not shared and
- * hence may be modified.
- *
- * @param a1 client address shifted right by ADDR0_BITS.
- * @param bm bitmap pointer.
- */
-static __inline__
-struct bitmap2ref*
-bm2_lookup_next_exclusive(struct bitmap* const bm, const UWord a1)
-{
- struct bitmap2ref* bm2ref;
- struct bitmap2* bm2;
-
- bm2ref = 0;
- bm2 = 0;
-
- VG_(OSetGen_ResetIterAt)(bm->oset, &a1);
- bm2ref = VG_(OSetGen_Next)(bm->oset);
-
- if (bm2ref)
- {
- bm2 = bm2ref->bm2;
- if (bm2->refcnt > 1)
- {
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(bm2ref);
-#endif
- bm2 = bm2_make_exclusive(*(struct bitmap**)&bm, bm2ref);
- }
- }
-
- return bm2ref;
-}
-
/** Look up the address a1 in bitmap bm. The returned second level bitmap has
* reference count one and hence may be modified.
*
|
|
From: <sv...@va...> - 2009-04-23 19:21:16
|
Author: bart Date: 2009-04-23 20:21:10 +0100 (Thu, 23 Apr 2009) New Revision: 9593 Log: Added --show-confl-seg=no to the tc19_shadowmem test, which speeds up the test by about 10%. Modified: trunk/drd/tests/tc19_shadowmem.stderr.exp-32bit trunk/drd/tests/tc19_shadowmem.stderr.exp-64bit trunk/drd/tests/tc19_shadowmem.vgtest [... diff too large to include ...] |
|
From: Nicholas N. <n.n...@gm...> - 2009-04-23 17:35:02
|
Nightly build on ocean32 ( Ubuntu 8.10, Intel x86-64 (32-bit only) ) started at 2009-04-24 03:00:01 EST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 446 tests, 7 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/linux/mremap2 (stdout)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
=================================================
./valgrind/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-04-24 03:22:37.000000000 +1000
+++ stack_switch.stderr.out 2009-04-24 03:32:47.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-04-24 03:22:43.000000000 +1000
+++ origin1-yes.stderr.out 2009-04-24 03:33:04.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:93)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.8.90.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:90)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-04-24 03:22:43.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-24 03:33:07.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-04-24 03:22:43.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-24 03:33:07.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-04-24 03:22:43.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-24 03:33:07.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-04-24 03:23:51.000000000 +1000
+++ mremap2.stdout.out 2009-04-24 03:34:08.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
<truncated beyond 100 lines>
=================================================
./valgrind/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-04-24 03:23:51.000000000 +1000
+++ mremap2.stdout.out 2009-04-24 03:34:08.000000000 +1000
@@ -176,49 +176,49 @@
maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-04-24 03:23:51.000000000 +1000
+++ mremap2.stdout.out 2009-04-24 03:34:08.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXX.............................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
<truncated beyond 100 lines>
=================================================
./valgrind/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-04-24 03:23:57.000000000 +1000
+++ shell.stderr.out 2009-04-24 03:34:24.000000000 +1000
@@ -1,8 +1 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-04-24 03:23:57.000000000 +1000
+++ shell.stderr.out 2009-04-24 03:34:24.000000000 +1000
@@ -1,8 +1 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-04-24 03:23:57.000000000 +1000
+++ shell.stdout.out 2009-04-24 03:34:24.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-04-24 03:23:57.000000000 +1000
+++ shell_valid1.stderr.out 2009-04-24 03:34:24.000000000 +1000
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-04-24 03:23:57.000000000 +1000
+++ shell_valid2.stderr.out 2009-04-24 03:34:24.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-04-24 03:23:57.000000000 +1000
+++ shell_valid3.stderr.out 2009-04-24 03:34:24.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
|
|
From: <sv...@va...> - 2009-04-23 17:23:35
|
Author: bart
Date: 2009-04-23 18:23:24 +0100 (Thu, 23 Apr 2009)
New Revision: 9592
Log:
Removed an unused variable.
Modified:
branches/VALGRIND_3_4_BRANCH/drd/drd_pthread_intercepts.c
Modified: branches/VALGRIND_3_4_BRANCH/drd/drd_pthread_intercepts.c
===================================================================
--- branches/VALGRIND_3_4_BRANCH/drd/drd_pthread_intercepts.c 2009-04-23 17:13:28 UTC (rev 9591)
+++ branches/VALGRIND_3_4_BRANCH/drd/drd_pthread_intercepts.c 2009-04-23 17:23:24 UTC (rev 9592)
@@ -283,7 +283,6 @@
pthread_t *thread, const pthread_attr_t *attr,
void *(*start) (void *), void *arg)
{
- int res;
int ret;
OrigFn fn;
VgPosixThreadArgs vgargs;
|
|
From: Michael S. <ms...@xi...> - 2009-04-23 17:14:50
|
On Wed, Apr 22, 2009 at 8:52 PM, Nicholas Nethercote <n.n...@gm...> wrote: > So it looks like the thread stacks are 8MB, which seems rather large > -- I thought the main stack was typically something like that size, > but that thread stacks were much smaller, maybe 64KB or something? Thread stacks on linux default to 8MB. Which is absurdly large, but that's ok. I wouldn't think it likely that that would have changed system-wide - it's been the default for many years. Mike |
|
From: <sv...@va...> - 2009-04-23 17:13:45
|
Author: bart
Date: 2009-04-23 18:13:28 +0100 (Thu, 23 Apr 2009)
New Revision: 9591
Log:
Merged r9590 from trunk.
Modified:
branches/VALGRIND_3_4_BRANCH/drd/drd_thread.c
Modified: branches/VALGRIND_3_4_BRANCH/drd/drd_thread.c
===================================================================
--- branches/VALGRIND_3_4_BRANCH/drd/drd_thread.c 2009-04-23 17:12:39 UTC (rev 9590)
+++ branches/VALGRIND_3_4_BRANCH/drd/drd_thread.c 2009-04-23 17:13:28 UTC (rev 9591)
@@ -331,11 +331,19 @@
s_threadinfo[tid].synchr_nesting = 0;
}
+/**
+ * Store the POSIX thread ID for the specified thread.
+ *
+ * @note This function can be called two times for the same thread -- see also
+ * the comment block preceding the pthread_create() wrapper in
+ * drd_pthread_intercepts.c.
+ */
void thread_set_pthreadid(const DrdThreadId tid, const PThreadId ptid)
{
tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
&& tid != DRD_INVALID_THREADID);
- tl_assert(s_threadinfo[tid].pt_threadid == INVALID_POSIX_THREADID);
+ tl_assert(s_threadinfo[tid].pt_threadid == INVALID_POSIX_THREADID
+ || s_threadinfo[tid].pt_threadid == ptid);
tl_assert(ptid != INVALID_POSIX_THREADID);
s_threadinfo[tid].posix_thread_exists = True;
s_threadinfo[tid].pt_threadid = ptid;
|