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-15 03:49:50
|
Author: njn
Date: 2009-04-15 04:49:44 +0100 (Wed, 15 Apr 2009)
New Revision: 9538
Log:
Merge a small part of r9357 from the trunk, to fix bug #179731.
Modified:
branches/VALGRIND_3_4_BRANCH/none/tests/x86/jcxz.c
Modified: branches/VALGRIND_3_4_BRANCH/none/tests/x86/jcxz.c
===================================================================
--- branches/VALGRIND_3_4_BRANCH/none/tests/x86/jcxz.c 2009-04-15 03:12:43 UTC (rev 9537)
+++ branches/VALGRIND_3_4_BRANCH/none/tests/x86/jcxz.c 2009-04-15 03:49:44 UTC (rev 9538)
@@ -11,12 +11,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy1:\n\t"
- "jcxz .Lfoobar1\n\t"
+ "0:\n\t"
+ "jcxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy1\n"
- ".Lfoobar1:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
@@ -32,12 +32,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy2:\n\t"
- "jecxz .Lfoobar2\n\t"
+ "0:\n\t"
+ "jecxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy2\n"
- ".Lfoobar2:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
|
|
From: <sv...@va...> - 2009-04-15 03:12:59
|
Author: njn
Date: 2009-04-15 04:12:43 +0100 (Wed, 15 Apr 2009)
New Revision: 9537
Log:
Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN
branch.
Modified:
trunk/Makefile.tool-tests.am
trunk/exp-ptrcheck/tests/mm.c
trunk/massif/tests/custom_alloc.c
trunk/massif/tests/malloc_usable.c
trunk/memcheck/tests/addressable.c
trunk/memcheck/tests/amd64/sse_memory.c
trunk/memcheck/tests/badjump.c
trunk/memcheck/tests/custom_alloc.c
trunk/memcheck/tests/file_locking.c
trunk/memcheck/tests/linux/stack_switch.c
trunk/memcheck/tests/mallinfo.c
trunk/memcheck/tests/malloc_usable.c
trunk/memcheck/tests/memalign2.c
trunk/memcheck/tests/mempool.c
trunk/memcheck/tests/mmaptest.c
trunk/memcheck/tests/origin1-yes.c
trunk/memcheck/tests/pointer-trace.c
trunk/memcheck/tests/sh-mem-random.c
trunk/memcheck/tests/sigaltstack.c
trunk/memcheck/tests/signal2.c
trunk/memcheck/tests/stack_changes.c
trunk/memcheck/tests/str_tester.c
trunk/memcheck/tests/x86-linux/bug133694.c
trunk/memcheck/tests/x86/Makefile.am
trunk/memcheck/tests/x86/fxsave.c
trunk/none/tests/amd64/bug137714-amd64.c
trunk/none/tests/amd64/faultstatus.c
trunk/none/tests/amd64/nibz_bennee_mmap.c
trunk/none/tests/amd64/redundantRexW.c
trunk/none/tests/amd64/smc1.c
trunk/none/tests/amd64/ssse3_misaligned.c
trunk/none/tests/faultstatus.c
trunk/none/tests/linux/mremap.c
trunk/none/tests/linux/mremap2.c
trunk/none/tests/map_unaligned.c
trunk/none/tests/map_unmap.c
trunk/none/tests/munmap_exe.c
trunk/none/tests/ppc32/jm-insns.c
trunk/none/tests/ppc32/test_fx.c
trunk/none/tests/ppc32/test_gx.c
trunk/none/tests/x86/Makefile.am
trunk/none/tests/x86/bug126147-x86.c
trunk/none/tests/x86/cmpxchg8b.c
trunk/none/tests/x86/faultstatus.c
trunk/none/tests/x86/fcmovnu.c
trunk/none/tests/x86/fxtract.c
trunk/none/tests/x86/incdec_alt.c
trunk/none/tests/x86/jcxz.c
trunk/none/tests/x86/lahf.c
trunk/none/tests/x86/looper.c
trunk/none/tests/x86/sbbmisc.c
trunk/none/tests/x86/ssse3_misaligned.c
trunk/perf/Makefile.am
trunk/perf/bigcode.c
trunk/perf/bz2.c
trunk/tests/Makefile.am
Modified: trunk/Makefile.tool-tests.am
===================================================================
--- trunk/Makefile.tool-tests.am 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/Makefile.tool-tests.am 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,3 +1,5 @@
+# This file is used for tool tests, and also in perf/Makefile.am.
+
include $(top_srcdir)/Makefile.flags.am # For AM_FLAG_M3264_PRI
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
Modified: trunk/exp-ptrcheck/tests/mm.c
===================================================================
--- trunk/exp-ptrcheck/tests/mm.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/exp-ptrcheck/tests/mm.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
#include "arith_include1.c"
Modified: trunk/massif/tests/custom_alloc.c
===================================================================
--- trunk/massif/tests/custom_alloc.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/massif/tests/custom_alloc.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
@@ -14,7 +14,7 @@
void* get_superblock(void)
{
void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANON, -1, 0 );
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
assert(p != ((void*)(-1)));
Modified: trunk/massif/tests/malloc_usable.c
===================================================================
--- trunk/massif/tests/malloc_usable.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/massif/tests/malloc_usable.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,11 +1,11 @@
#include <assert.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
-# if !defined(_AIX)
+# if !defined(VGO_aix5)
// Because our allocations are in multiples of 8 or 16, 99 will round up
// to 104 or 112.
int* x = malloc(99);
Modified: trunk/memcheck/tests/addressable.c
===================================================================
--- trunk/memcheck/tests/addressable.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/addressable.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
/* Test different kinds of addressability and definedness */
#include "../memcheck.h"
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <sys/resource.h>
#include <unistd.h>
Modified: trunk/memcheck/tests/amd64/sse_memory.c
===================================================================
--- trunk/memcheck/tests/amd64/sse_memory.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/amd64/sse_memory.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6,7 +6,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <string.h>
typedef unsigned char V128[16];
@@ -148,7 +148,7 @@
} \
for (i = 0; i < 5; i++) { \
randRMArgs(&margs); \
- buf = memalign(16,mem_size); \
+ buf = memalign16(mem_size); \
randomise(buf,mem_size); \
r_m_##insn(&margs,buf); \
showRM(#insn, &margs, buf, mem_size, res_mask);\
Modified: trunk/memcheck/tests/badjump.c
===================================================================
--- trunk/memcheck/tests/badjump.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/badjump.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,3 +1,4 @@
+#include "tests/sys_mman.h"
int main ( void )
{
@@ -7,12 +8,13 @@
uniform behaviour on all supported targets - a jump to 0xE000000
- the following is needed. */
unsigned long long int fake_fndescr[3];
- fake_fndescr[0] = 0xE000000;
+ fake_fndescr[0] = (unsigned long long int)get_unmapped_page();
fake_fndescr[1] = 0;
fake_fndescr[2] = 0;
return ((int(*)(void)) fake_fndescr) ();
#else
- char* p = (char*)0xE000000;
+ char* p = get_unmapped_page();
return ((int(*)(void)) p) ();
#endif
}
+
Modified: trunk/memcheck/tests/custom_alloc.c
===================================================================
--- trunk/memcheck/tests/custom_alloc.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/custom_alloc.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
@@ -14,7 +14,7 @@
void* get_superblock(void)
{
void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANON, -1, 0 );
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
assert(p != ((void*)(-1)));
Modified: trunk/memcheck/tests/file_locking.c
===================================================================
--- trunk/memcheck/tests/file_locking.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/file_locking.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -9,7 +9,7 @@
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
Modified: trunk/memcheck/tests/linux/stack_switch.c
===================================================================
--- trunk/memcheck/tests/linux/stack_switch.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/linux/stack_switch.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6,7 +6,7 @@
#include <sched.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <sys/syscall.h>
#include <sys/wait.h>
#include <unistd.h>
Modified: trunk/memcheck/tests/mallinfo.c
===================================================================
--- trunk/memcheck/tests/mallinfo.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/mallinfo.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-#include <malloc.h>
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> // getopt()
Modified: trunk/memcheck/tests/malloc_usable.c
===================================================================
--- trunk/memcheck/tests/malloc_usable.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/malloc_usable.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,11 +1,11 @@
#include <assert.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
-# if !defined(_AIX)
+# if !defined(VGO_aix5)
// Because Memcheck marks any slop as inaccessible, it doesn't round up
// sizes for malloc_usable_size().
int* x = malloc(99);
Modified: trunk/memcheck/tests/memalign2.c
===================================================================
--- trunk/memcheck/tests/memalign2.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/memalign2.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -14,16 +14,17 @@
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <errno.h>
int main ( void )
{
-# if defined(_AIX)
+# if defined(VGO_aix5)
// AIX 5.2 has neither memalign() nor posix_memalign(); do nothing.
# else
// Nb: assuming VG_MIN_MALLOC_SZB is 8!
+ // DDD: (this is no longer true)
// Should work with both 32-bit and 64-bit pointers, though.
int* p;
Modified: trunk/memcheck/tests/mempool.c
===================================================================
--- trunk/memcheck/tests/mempool.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/mempool.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
Modified: trunk/memcheck/tests/mmaptest.c
===================================================================
--- trunk/memcheck/tests/mmaptest.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/mmaptest.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -2,7 +2,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main()
{
Modified: trunk/memcheck/tests/origin1-yes.c
===================================================================
--- trunk/memcheck/tests/origin1-yes.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/origin1-yes.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -13,7 +13,7 @@
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
#include "../memcheck.h"
Modified: trunk/memcheck/tests/pointer-trace.c
===================================================================
--- trunk/memcheck/tests/pointer-trace.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/pointer-trace.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -5,7 +5,7 @@
#include <stdio.h>
#include "memcheck/memcheck.h"
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
Modified: trunk/memcheck/tests/sh-mem-random.c
===================================================================
--- trunk/memcheck/tests/sh-mem-random.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/sh-mem-random.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -5,7 +5,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include "memcheck/memcheck.h"
// All the sizes here are in *bytes*, not bits.
Modified: trunk/memcheck/tests/sigaltstack.c
===================================================================
--- trunk/memcheck/tests/sigaltstack.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/sigaltstack.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -3,7 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
void sig_handler(int sig){
int var;
@@ -19,7 +19,7 @@
// ask for an alt stack with EXEC permissions,
// since signal returning requires execution of code on the stack.
char *stk = (char *)mmap(0, size, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_ANON|MAP_PRIVATE, -1, 0);
+ MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
sigstk.ss_sp = stk;
sigstk.ss_size = size;
Modified: trunk/memcheck/tests/signal2.c
===================================================================
--- trunk/memcheck/tests/signal2.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/signal2.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -2,19 +2,20 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
+#include "tests/sys_mman.h"
-void sig_hdlr ( int signo )
-{
- printf ( "caught sig segv\n" );
- exit(1);
+void sig_hdlr ( int signo ) {
+ printf ( "caught sig segv\n" ); exit(1);
}
-int main ( void )
-{
+int main ( void ) {
+ char* badplace;
printf ( "installing sig handler\n" );
signal(SIGSEGV, sig_hdlr);
printf ( "doing bad thing\n" );
- * (int*) 65536 = 0;
+ badplace = get_unmapped_page();
+ *(int*)badplace = 0;
printf ( "exited normally ?!\n" );
return 0;
}
+
Modified: trunk/memcheck/tests/stack_changes.c
===================================================================
--- trunk/memcheck/tests/stack_changes.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/stack_changes.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,7 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <ucontext.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include "valgrind.h"
@@ -39,7 +39,7 @@
}
stack = (void *)mmap(0, STACK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_ANON|MAP_PRIVATE, -1, 0);
+ MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
if (stack == (void*)-1) {
perror("mmap");
Modified: trunk/memcheck/tests/str_tester.c
===================================================================
--- trunk/memcheck/tests/str_tester.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/str_tester.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -463,6 +463,7 @@
}
}
+// DDD: better done by testing for the function.
#if !defined(_AIX)
static void
test_strchrnul (void)
@@ -499,6 +500,7 @@
}
#endif /* !defined(_AIX) */
+// DDD: better done by testing for the function.
#if !defined(_AIX)
static void
test_rawmemchr (void)
@@ -574,6 +576,7 @@
}
}
+// DDD: better done by testing for the function.
#if !defined(_AIX)
static void
test_memrchr (void)
Modified: trunk/memcheck/tests/x86/Makefile.am
===================================================================
--- trunk/memcheck/tests/x86/Makefile.am 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/x86/Makefile.am 2009-04-15 03:12:43 UTC (rev 9537)
@@ -28,12 +28,17 @@
check_PROGRAMS = \
bug152022 \
espindola2 \
- fxsave \
int3-x86 \
- fpeflags pushfpopf \
+ fpeflags \
+ fprem \
+ fxsave \
+ more_x86_fp \
+ pushfpopf \
pushfw_x86 \
- pushpopmem sse_memory tronical \
- more_x86_fp fprem xor-undef-x86
+ pushpopmem \
+ 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/fxsave.c
===================================================================
--- trunk/memcheck/tests/x86/fxsave.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/x86/fxsave.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,7 +1,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include <malloc.h>
+#include "tests/asm.h"
+#include "tests/malloc.h"
#include <string.h>
const unsigned int vec0[4]
@@ -34,14 +35,14 @@
"fldz\n\t"
"fldz\n\t"
"finit\n");
- asm __volatile__("movups vecZ, %xmm0");
- asm __volatile__("movups vecZ, %xmm1");
- asm __volatile__("movups vecZ, %xmm2");
- asm __volatile__("movups vecZ, %xmm3");
- asm __volatile__("movups vecZ, %xmm4");
- asm __volatile__("movups vecZ, %xmm5");
- asm __volatile__("movups vecZ, %xmm6");
- asm __volatile__("movups vecZ, %xmm7");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm0");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm1");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm2");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm3");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm4");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm5");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm6");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm7");
asm __volatile__(
"pushl $0\n\t"
"ldmxcsr 0(%esp)\n\t"
@@ -58,8 +59,8 @@
asm __volatile__("fldlg2");
asm __volatile__("fld %st(3)");
asm __volatile__("fld %st(3)");
- asm __volatile__("movups vec0, %xmm0");
- asm __volatile__("movups vec1, %xmm1");
+ asm __volatile__("movups " VG_SYM(vec0) ", %xmm0");
+ asm __volatile__("movups " VG_SYM(vec1) ", %xmm1");
asm __volatile__("xorps %xmm2, %xmm2");
asm __volatile__("movaps %xmm2, %xmm3");
asm __volatile__("movaps %xmm2, %xmm4");
@@ -102,9 +103,9 @@
int main ( int argc, char** argv )
{
- unsigned char* buf1 = memalign(16,512);
- unsigned char* buf2 = memalign(16,512);
- unsigned char* buf3 = memalign(16,512);
+ unsigned char* buf1 = memalign16(512);
+ unsigned char* buf2 = memalign16(512);
+ unsigned char* buf3 = memalign16(512);
int xx = argc > 1;
printf("Re-run with any arg to suppress least-significant\n"
" 16 bits of FP numbers\n");
Modified: trunk/memcheck/tests/x86-linux/bug133694.c
===================================================================
--- trunk/memcheck/tests/x86-linux/bug133694.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/memcheck/tests/x86-linux/bug133694.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main(int argc, char **argv)
{
Modified: trunk/none/tests/amd64/bug137714-amd64.c
===================================================================
--- trunk/none/tests/amd64/bug137714-amd64.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/bug137714-amd64.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <assert.h>
typedef unsigned char UChar;
Modified: trunk/none/tests/amd64/faultstatus.c
===================================================================
--- trunk/none/tests/amd64/faultstatus.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/faultstatus.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
struct test {
Modified: trunk/none/tests/amd64/nibz_bennee_mmap.c
===================================================================
--- trunk/none/tests/amd64/nibz_bennee_mmap.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/nibz_bennee_mmap.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -27,7 +27,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main(int argc, char **argv)
{
Modified: trunk/none/tests/amd64/redundantRexW.c
===================================================================
--- trunk/none/tests/amd64/redundantRexW.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/redundantRexW.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -8,6 +8,7 @@
#include <stdio.h>
#include <malloc.h> /* for memalign */
#include <assert.h>
+#include "tests/malloc.h"
typedef unsigned char UChar;
@@ -168,13 +169,9 @@
{
XMMRegs* regs;
Mem* mem;
- regs = memalign(16, sizeof(XMMRegs)); assert(regs);
- mem = memalign(16, sizeof(Mem)); assert(mem);
+ regs = memalign16(sizeof(XMMRegs) + 16);
+ mem = memalign16(sizeof(Mem) + 16);
- /* Both have to be 16-aligned so we can do movapd et al */
- assert( 0 == (0xFL & (unsigned long int)regs) );
- assert( 0 == (0xFL & (unsigned long int)mem) );
-
/* addpd mem, reg 66 49 0f 58 48 00 rex.WB addpd 0x0(%r8),%xmm1 */
{
before_test( regs, mem );
Modified: trunk/none/tests/amd64/smc1.c
===================================================================
--- trunk/none/tests/amd64/smc1.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/smc1.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -31,7 +31,7 @@
#include <stdio.h>
#include <assert.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
typedef unsigned long long int Addr;
typedef unsigned char UChar;
Modified: trunk/none/tests/amd64/ssse3_misaligned.c
===================================================================
--- trunk/none/tests/amd64/ssse3_misaligned.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/amd64/ssse3_misaligned.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
-#include <malloc.h>
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -8,9 +8,7 @@
void maybe_fault ( int delta )
{
- char* x = memalign(16/*alignment*/,32/*size*/);
- assert(x);
- assert(0 == ((16-1) & (unsigned long)x));
+ char* x = memalign16(32);
memset(x, 0, 32);
__asm__ __volatile__(
"pabsb (%0),%%xmm7"
Modified: trunk/none/tests/faultstatus.c
===================================================================
--- trunk/none/tests/faultstatus.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/faultstatus.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
/*
Modified: trunk/none/tests/linux/mremap.c
===================================================================
--- trunk/none/tests/linux/mremap.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/linux/mremap.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#define _GNU_SOURCE
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <stdlib.h>
Modified: trunk/none/tests/linux/mremap2.c
===================================================================
--- trunk/none/tests/linux/mremap2.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/linux/mremap2.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -2,7 +2,7 @@
#include <stdio.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
#include <sys/types.h>
Modified: trunk/none/tests/map_unaligned.c
===================================================================
--- trunk/none/tests/map_unaligned.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/map_unaligned.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main(int argc, char **argv)
{
Modified: trunk/none/tests/map_unmap.c
===================================================================
--- trunk/none/tests/map_unmap.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/map_unmap.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#include <stdio.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdlib.h>
#include <unistd.h>
@@ -10,7 +10,7 @@
static void *domap(void)
{
- void *ret = mmap(0, LEN, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);
+ void *ret = mmap(0, LEN, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (ret == (void *)-1) {
perror("mmap");
Modified: trunk/none/tests/munmap_exe.c
===================================================================
--- trunk/none/tests/munmap_exe.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/munmap_exe.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <stdlib.h>
@@ -11,7 +11,7 @@
{
void* m;
- m = mmap(NULL, 100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0);
+ m = mmap(NULL, 100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (m == (void*)-1) {
fprintf(stderr, "error mmapping\n");
Modified: trunk/none/tests/ppc32/jm-insns.c
===================================================================
--- trunk/none/tests/ppc32/jm-insns.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/ppc32/jm-insns.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -166,7 +166,7 @@
#include <stdint.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
/* Something of the same size as void*, so can be safely be coerced
to/from a pointer type. Also same size as the host's gp registers. */
@@ -229,10 +229,8 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h> // getopt
-#include <malloc.h>
-
#ifndef __powerpc64__
#define ASSEMBLY_FUNC(__fname, __insn) \
asm(".section \".text\"\n" \
@@ -4403,7 +4401,7 @@
{
#if !defined (ALTIVEC_ARGS_LARGE)
unsigned int i=2;
- viargs = memalign(16, i * sizeof(vector unsigned int));
+ viargs = memalign16(i * sizeof(vector unsigned int));
viargs[0] = (vector unsigned int) { 0x01020304,0x05060708,0x090A0B0C,0x0E0D0E0F };
AB_DPRINTF_VEC32x4( viargs[0] );
viargs[1] = (vector unsigned int) { 0xF1F2F3F4,0xF5F6F7F8,0xF9FAFBFC,0xFEFDFEFF };
@@ -4459,7 +4457,7 @@
#if !defined (ALTIVEC_ARGS_LARGE)
nb_vfargs = 12;
- vfargs = memalign(16, nb_vfargs * sizeof(vector float));
+ vfargs = memalign16(nb_vfargs * sizeof(vector float));
// 4 values:
for (s=0; s<2; s++) {
@@ -4474,7 +4472,7 @@
}
#else
nb_vfargs = 50;
- vfargs = memalign(16, nb_vfargs * sizeof(vector float));
+ vfargs = memalign16(nb_vfargs * sizeof(vector float));
for (s=0; s<2; s++) {
for (_exp=0x0; ; _exp += 0x3F ) {
@@ -6763,7 +6761,7 @@
vector unsigned int* viargs_priv;
// private viargs table to store to
- viargs_priv = memalign(16,(nb_viargs * sizeof(vector unsigned int)));
+ viargs_priv = memalign16(nb_viargs * sizeof(vector unsigned int));
for (i=0; i<nb_viargs; i++)
viargs_priv[i] = (vector unsigned int) { 0,0,0,0 };
Modified: trunk/none/tests/ppc32/test_fx.c
===================================================================
--- trunk/none/tests/ppc32/test_fx.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/ppc32/test_fx.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
double do_fsqrt ( double x )
{
Modified: trunk/none/tests/ppc32/test_gx.c
===================================================================
--- trunk/none/tests/ppc32/test_gx.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/ppc32/test_gx.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include "tests/malloc.h"
/* This is a Marie Celeste instruction. Some IBM documents think it
exists, others don't. The same appears to be true for
Modified: trunk/none/tests/x86/Makefile.am
===================================================================
--- trunk/none/tests/x86/Makefile.am 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/Makefile.am 2009-04-15 03:12:43 UTC (rev 9537)
@@ -59,19 +59,36 @@
yield.stderr.exp yield.stdout.exp yield.disabled
check_PROGRAMS = \
- badseg bt_everything bt_literal \
+ badseg \
+ bt_everything \
+ bt_literal \
bug125959-x86 \
bug126147-x86 \
bug132813-x86 \
bug135421-x86 \
bug137714-x86 \
bug152818-x86 \
- cmpxchg8b cpuid cse_fail \
- faultstatus fcmovnu fpu_lazy_eflags fxtract \
- getseg incdec_alt $(INSN_TESTS) \
+ cmpxchg8b \
+ cpuid \
+ cse_fail \
+ faultstatus \
+ fcmovnu \
+ fpu_lazy_eflags \
+ fxtract \
+ getseg \
+ incdec_alt \
+ $(INSN_TESTS) \
+ int \
jcxz \
- lahf looper movx int pushpopseg sbbmisc \
- seg_override sigcontext smc1 yield
+ lahf \
+ looper \
+ movx \
+ pushpopseg \
+ sbbmisc \
+ seg_override \
+ sigcontext \
+ smc1 \
+ yield
if BUILD_SSSE3_TESTS
check_PROGRAMS += ssse3_misaligned
endif
Modified: trunk/none/tests/x86/bug126147-x86.c
===================================================================
--- trunk/none/tests/x86/bug126147-x86.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/bug126147-x86.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -19,10 +19,8 @@
extern char *mystrncpy(char *dest, const char *src, size_t n);
asm(
".text\n"
-".globl mystrncpy\n"
-".type mystrncpy,@function\n"
"\n"
-"mystrncpy:\n"
+VG_SYM(mystrncpy) ":\n"
" pushl %esi\n"
" pushl %edi\n"
" movl %esp, %ecx\n"
@@ -32,20 +30,19 @@
"\n"
" movl %edi, %edx\n"
" cld\n"
-".Lzzloop:\n"
+"0:\n"
" dec %ecx\n"
-" js .Lzzout\n"
+" js 1f\n"
" lodsb\n"
" stosb\n"
" or %al, %al\n"
-" jnz .Lzzloop\n"
+" jnz 0b\n"
" repnz stosb\n"
-".Lzzout:\n"
+"1:\n"
" movl %edx, %eax\n"
" popl %edi\n"
" popl %esi\n"
" ret\n"
-".previous\n"
"\n"
);
@@ -66,8 +63,7 @@
unsigned int base, int UpCase);
asm(
".text\n"
-".globl __ltostr\n"
-"__ltostr:\n"
+VG_SYM(__ltostr) ":\n"
" pushl %esi\n"
" pushl %edi # destination\n"
" pushl %ebp\n"
@@ -79,27 +75,27 @@
" movl 0x1c(%eax), %eax # dividend\n"
" decl %ecx\n"
" movl %ecx, %esi\n"
-" movl $('A'-0xa), %ebp\n"
+" movl $55, %ebp # 55 == char(A)-10\n"
" xorl %edx, %edx # must be 0 -- used by idiv\n"
" cmpl $0x0, 36(%esp) # check for uppercase\n"
-" jnz .Lyynext\n"
+" jnz 0f\n"
" addl $0x20, %ebp # set lowercase\n"
-".Lyynext:\n"
+"0:\n"
" idiv %ebx, %eax\n"
" cmpb $0x9, %dl\n"
-" jg .Lyynext2\n"
-" addb $'0', %dl\n"
-" jmp .Lyystos\n"
-".Lyynext2:\n"
+" jg 1f\n"
+" addb $48, %dl # 48 == '0'\n"
+" jmp 2f\n"
+"1:\n"
" addl %ebp, %edx\n"
-".Lyystos:\n"
+"2:\n"
" movb %dl, (%edi, %ecx)\n"
" xorl %edx, %edx\n"
" decl %ecx\n"
-" jz .Lyyout\n"
+" jz 3f\n"
" orl %eax, %eax\n"
-" jnz .Lyynext\n"
-".Lyyout:\n"
+" jnz 0b\n"
+"3:\n"
" cld\n"
" movl %esi, %ebx\n"
" leal 1(%edi, %ecx), %esi\n"
@@ -113,7 +109,6 @@
" popl %edi\n"
" popl %esi\n"
" ret\n"
-".previous\n"
);
#define STREQ(a, b) (strcmp((a), (b)) == 0)
Modified: trunk/none/tests/x86/cmpxchg8b.c
===================================================================
--- trunk/none/tests/x86/cmpxchg8b.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/cmpxchg8b.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
typedef unsigned long long int ULong;
@@ -14,7 +14,7 @@
extern void foo ( void );
asm("\n"
- "foo:\n"
+ VG_SYM(foo) ":\n"
"\tpushl %eax\n"
"\tpushl %ebx\n"
"\tpushl %ecx\n"
@@ -22,18 +22,18 @@
"\txorl %eax, %eax\n" // get eflags in a known state
- "\tmovl eax,%eax\n"
- "\tmovl ebx,%ebx\n"
- "\tmovl ecx,%ecx\n"
- "\tmovl edx,%edx\n"
- "\tcmpxchg8b m64\n"
- "\tmovl %eax,eax\n"
- "\tmovl %ebx,ebx\n"
- "\tmovl %ecx,ecx\n"
- "\tmovl %edx,edx\n"
+ "\tmovl " VG_SYM(eax) ",%eax\n"
+ "\tmovl " VG_SYM(ebx) ",%ebx\n"
+ "\tmovl " VG_SYM(ecx) ",%ecx\n"
+ "\tmovl " VG_SYM(edx) ",%edx\n"
+ "\tcmpxchg8b " VG_SYM(m64) "\n"
+ "\tmovl %eax," VG_SYM(eax) "\n"
+ "\tmovl %ebx," VG_SYM(ebx) "\n"
+ "\tmovl %ecx," VG_SYM(ecx) "\n"
+ "\tmovl %edx," VG_SYM(edx) "\n"
"\tpushfl\n"
"\tpopl %eax\n"
- "\tmovl %eax,zout\n"
+ "\tmovl %eax," VG_SYM(zout) "\n"
"\tpopl %edx\n"
"\tpopl %ecx\n"
Modified: trunk/none/tests/x86/faultstatus.c
===================================================================
--- trunk/none/tests/x86/faultstatus.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/faultstatus.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
struct test {
Modified: trunk/none/tests/x86/fcmovnu.c
===================================================================
--- trunk/none/tests/x86/fcmovnu.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/fcmovnu.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
double zzz;
@@ -15,7 +15,7 @@
"movl $0,%esi\n\t"
"add %esi,%esi\n\t"
"fcmovnu %st(1), %st(0)\n\t"
- "fstl zzz\n\t"
+ "fstl " VG_SYM(zzz) "\n\t"
"finit\n\t"
"popl %esi\n\t"
);
Modified: trunk/none/tests/x86/fxtract.c
===================================================================
--- trunk/none/tests/x86/fxtract.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/fxtract.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
#include <math.h>
@@ -6,13 +6,12 @@
extern void do_fxtract ( void );
asm("\n"
-".global do_fxtract\n"
-"do_fxtract:\n"
+VG_SYM(do_fxtract) ":\n"
"\tfinit\n"
-"\tfldl arg\n"
+"\tfldl " VG_SYM(arg) "\n"
"\tfxtract\n"
-"\tfstpl res1\n"
-"\tfstpl res2\n"
+"\tfstpl " VG_SYM(res1) "\n"
+"\tfstpl " VG_SYM(res2) "\n"
"\tret"
);
Modified: trunk/none/tests/x86/incdec_alt.c
===================================================================
--- trunk/none/tests/x86/incdec_alt.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/incdec_alt.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,51 +1,52 @@
/* A test of the alternative (redundant) encodings for {inc,dec}{w,l}. */
+#include "tests/asm.h"
#include <stdio.h>
int r1,r2,r3,r4,r5,r6,r7,r8,a1,a2;
extern void foo ( void );
asm("\n"
-"foo:\n"
+VG_SYM(foo) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
-"\tmovl a1,%eax\n"
-"\tmovl a2,%edx\n"
+"\tmovl " VG_SYM(a1) ",%eax\n"
+"\tmovl " VG_SYM(a2) ",%edx\n"
/* inc %eax */
"\t.byte 0xFF\n"
"\t.byte 0xC0\n"
-"\tmovl %eax,r1\n"
+"\tmovl %eax," VG_SYM(r1) "\n"
"\tpushfl\n"
-"\tpopl r2\n"
+"\tpopl " VG_SYM(r2) "\n"
/* inc %dx */
"\t.byte 0x66\n"
"\t.byte 0xFF\n"
"\t.byte 0xC2\n"
-"\tmovl %edx,r3\n"
+"\tmovl %edx," VG_SYM(r3) "\n"
"\tpushfl\n"
-"\tpopl r4\n"
+"\tpopl " VG_SYM(r4) "\n"
/* dec %edx */
"\t.byte 0xFF\n"
"\t.byte 0xCA\n"
-"\tmovl %edx,r5\n"
+"\tmovl %edx," VG_SYM(r5) "\n"
"\tpushfl\n"
-"\tpopl r6\n"
+"\tpopl " VG_SYM(r6) "\n"
/* dec %ax */
"\t.byte 0x66\n"
"\t.byte 0xFF\n"
"\t.byte 0xC8\n"
-"\tmovl %eax,r7\n"
+"\tmovl %eax," VG_SYM(r7) "\n"
"\tpushfl\n"
-"\tpopl r8\n"
+"\tpopl " VG_SYM(r8) "\n"
"\tret\n"
);
Modified: trunk/none/tests/x86/jcxz.c
===================================================================
--- trunk/none/tests/x86/jcxz.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/jcxz.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -11,12 +11,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy1:\n\t"
- "jcxz .Lfoobar1\n\t"
+ "0:\n\t"
+ "jcxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy1\n"
- ".Lfoobar1:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
@@ -32,12 +32,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy2:\n\t"
- "jecxz .Lfoobar2\n\t"
+ "0:\n\t"
+ "jecxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy2\n"
- ".Lfoobar2:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
Modified: trunk/none/tests/x86/lahf.c
===================================================================
--- trunk/none/tests/x86/lahf.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/lahf.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,9 +1,9 @@
-
+#include "tests/asm.h"
#include <stdio.h>
extern int foo_1 ( void );
asm("\n"
-"foo_1:\n"
+VG_SYM(foo_1) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
"\tmovl $0xFFFFFFFF, %eax\n"
@@ -15,7 +15,7 @@
extern int foo_0 ( void );
asm("\n"
-"foo_0:\n"
+VG_SYM(foo_0) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
"\tmovl $0x0, %eax\n"
Modified: trunk/none/tests/x86/looper.c
===================================================================
--- trunk/none/tests/x86/looper.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/looper.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
int arg = 0;
@@ -7,19 +7,18 @@
extern void loop_plain ( void );
asm("\n"
".text\n"
-".globl loop_plain\n"
-"loop_plain:\n"
+VG_SYM(loop_plain) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123plain:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
-"\tloop .Lmn123plain\n"
+"\tloop 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
@@ -27,19 +26,18 @@
extern void loop_ne ( void );
asm("\n"
".text\n"
-".globl loop_ne\n"
-"loop_ne:\n"
+VG_SYM(loop_ne) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123ne:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
-"\tloopne .Lmn123ne\n"
+"\tloopne 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
@@ -47,13 +45,12 @@
extern void loop_e ( void );
asm("\n"
".text\n"
-".globl loop_e\n"
-"loop_e:\n"
+VG_SYM(loop_e) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123e:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
@@ -61,9 +58,9 @@
"\tpushfl\n"
"\txorl $64, 0(%esp)\n"
"\tpopfl\n"
-"\tloope .Lmn123e\n"
+"\tloope 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
Modified: trunk/none/tests/x86/sbbmisc.c
===================================================================
--- trunk/none/tests/x86/sbbmisc.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/sbbmisc.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
char in_b, out_b1, out_b2, in_b2;
@@ -9,17 +9,17 @@
extern void sbb_ib_al ( void );
asm("\n"
-"sbb_ib_al:\n"
+VG_SYM(sbb_ib_al) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
"\tsbbb $5, %al\n"
-"\tmovb %al, out_b1\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
"\tsbbb $5, %al\n"
-"\tmovb %al, out_b2\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -27,17 +27,17 @@
extern void sbb_iw_ax ( void );
asm("\n"
-"sbb_iw_ax:\n"
+VG_SYM(sbb_iw_ax) ":\n"
-"\tmovw in_w, %ax\n"
+"\tmovw " VG_SYM(in_w) ", %ax\n"
"\tclc\n"
"\tsbbw $555, %ax\n"
-"\tmovw %ax, out_w1\n"
+"\tmovw %ax, " VG_SYM(out_w1) "\n"
-"\tmovw in_w, %ax\n"
+"\tmovw " VG_SYM(in_w) ", %ax\n"
"\tstc\n"
"\tsbbw $555, %ax\n"
-"\tmovw %ax, out_w2\n"
+"\tmovw %ax, " VG_SYM(out_w2) "\n"
"\tret\n"
);
@@ -45,17 +45,17 @@
extern void sbb_il_eax ( void );
asm("\n"
-"sbb_il_eax:\n"
+VG_SYM(sbb_il_eax) ":\n"
-"\tmovl in_l, %eax\n"
+"\tmovl " VG_SYM(in_l) ", %eax\n"
"\tclc\n"
"\tsbbl $555666, %eax\n"
-"\tmovl %eax, out_l1\n"
+"\tmovl %eax, " VG_SYM(out_l1) "\n"
-"\tmovl in_l, %eax\n"
+"\tmovl " VG_SYM(in_l) ", %eax\n"
"\tstc\n"
"\tsbbl $555666, %eax\n"
-"\tmovl %eax, out_l2\n"
+"\tmovl %eax, " VG_SYM(out_l2) "\n"
"\tret\n"
);
@@ -63,17 +63,17 @@
extern void sbb_eb_gb ( void );
asm("\n"
-"sbb_eb_gb:\n"
+VG_SYM(sbb_eb_gb) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
-"\tsbbb in_b2, %al\n"
-"\tmovb %al, out_b1\n"
+"\tsbbb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
-"\tsbbb in_b2, %al\n"
-"\tmovb %al, out_b2\n"
+"\tsbbb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -81,20 +81,20 @@
extern void sbb_eb_gb_2 ( void );
asm("\n"
-"sbb_eb_gb_2:\n"
+VG_SYM(sbb_eb_gb_2) ":\n"
"\tpushl %ecx\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tclc\n"
"\tsbbb %dh,%cl\n"
-"\tmovb %cl, out_b1\n"
+"\tmovb %cl, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tstc\n"
"\tsbbb %dh,%cl\n"
-"\tmovb %cl, out_b2\n"
+"\tmovb %cl, " VG_SYM(out_b2) "\n"
"\tpopl %ecx\n"
"\tret\n"
@@ -103,17 +103,17 @@
extern void adc_eb_gb ( void );
asm("\n"
-"adc_eb_gb:\n"
+VG_SYM(adc_eb_gb) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
-"\tadcb in_b2, %al\n"
-"\tmovb %al, out_b1\n"
+"\tadcb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
-"\tadcb in_b2, %al\n"
-"\tmovb %al, out_b2\n"
+"\tadcb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -121,20 +121,20 @@
extern void adc_eb_gb_2 ( void );
asm("\n"
-"adc_eb_gb_2:\n"
+VG_SYM(adc_eb_gb_2) ":\n"
"\tpushl %ecx\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tclc\n"
"\tadcb %dh,%cl\n"
-"\tmovb %cl, out_b1\n"
+"\tmovb %cl, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tstc\n"
"\tadcb %dh,%cl\n"
-"\tmovb %cl, out_b2\n"
+"\tmovb %cl, " VG_SYM(out_b2) "\n"
"\tpopl %ecx\n"
"\tret\n"
Modified: trunk/none/tests/x86/ssse3_misaligned.c
===================================================================
--- trunk/none/tests/x86/ssse3_misaligned.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/none/tests/x86/ssse3_misaligned.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,5 +1,5 @@
-#include <malloc.h>
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -8,9 +8,7 @@
void maybe_fault ( int delta )
{
- char* x = memalign(16/*alignment*/,32/*size*/);
- assert(x);
- assert(0 == ((16-1) & (unsigned long)x));
+ char* x = memalign16(32);
memset(x, 0, 32);
__asm__ __volatile__(
"pabsb (%0),%%xmm7"
Modified: trunk/perf/Makefile.am
===================================================================
--- trunk/perf/Makefile.am 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/perf/Makefile.am 2009-04-15 03:12:43 UTC (rev 9537)
@@ -1,6 +1,5 @@
-# For AM_FLAG_M3264_PRI
-include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = vg_perf
@@ -18,10 +17,10 @@
check_PROGRAMS = \
bigcode bz2 fbench ffbench heap sarp tinycc
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/include
-AM_CFLAGS = -Winline -Wall -Wshadow -g -O $(AM_FLAG_M3264_PRI)
-AM_CXXFLAGS = $(AM_CFLAGS)
+AM_CFLAGS += -O $(AM_FLAG_M3264_PRI)
+AM_CXXFLAGS += -O $(AM_FLAG_M3264_PRI)
+
# Extra stuff
bz2_CFLAGS = $(AM_CFLAGS) -Wno-inline
Modified: trunk/perf/bigcode.c
===================================================================
--- trunk/perf/bigcode.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/perf/bigcode.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -10,7 +10,7 @@
#include <stdio.h>
#include <string.h>
#include <assert.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#define FN_SIZE 996 // Must be big enough to hold the compiled f()
#define N_LOOPS 20000 // Should be divisible by four
Modified: trunk/perf/bz2.c
===================================================================
--- trunk/perf/bz2.c 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/perf/bz2.c 2009-04-15 03:12:43 UTC (rev 9537)
@@ -6412,7 +6412,7 @@
}
#include <stdio.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <assert.h>
/* For providing services. */
Modified: trunk/tests/Makefile.am
===================================================================
--- trunk/tests/Makefile.am 2009-04-15 03:04:46 UTC (rev 9536)
+++ trunk/tests/Makefile.am 2009-04-15 03:12:43 UTC (rev 9537)
@@ -11,6 +11,11 @@
platform_test \
vg_regtest
+noinst_HEADERS = \
+ asm.h \
+ malloc.h \
+ sys_mman.h
+
EXTRA_DIST = $(noinst_SCRIPTS)
check_PROGRAMS = \
|
|
From: <sv...@va...> - 2009-04-15 03:05:06
|
Author: njn
Date: 2009-04-15 04:04:46 +0100 (Wed, 15 Apr 2009)
New Revision: 9536
Log:
Fix a bogus #include.
Modified:
branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c
Modified: branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c
===================================================================
--- branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c 2009-04-15 02:56:49 UTC (rev 9535)
+++ branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c 2009-04-15 03:04:46 UTC (rev 9536)
@@ -27,7 +27,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include "vgtest_sys_mman.h"
+#include "tests/sys_mman.h"
int main(int argc, char **argv)
{
|
|
From: Tom H. <th...@cy...> - 2009-04-15 03:03:51
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-04-15 03:05:08 BST
Results differ 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 ==
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 478 tests, 4 stderr failures, 0 stdout failures, 0 post failures ==
exp-ptrcheck/tests/ccc (stderr)
exp-ptrcheck/tests/preen_invars (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed Apr 15 03:34:43 2009
--- new.short Wed Apr 15 04:03:30 2009
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... failed
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... done
***************
*** 8,14 ****
! == 478 tests, 4 stderr failures, 0 stdout failures, 0 post failures ==
! exp-ptrcheck/tests/ccc (stderr)
! exp-ptrcheck/tests/preen_invars (stderr)
! exp-ptrcheck/tests/pth_create (stderr)
! exp-ptrcheck/tests/pth_specific (stderr)
--- 8,10 ----
! == 478 tests, 0 stderr failures, 0 stdout failures, 0 post failures ==
|
|
From: <sv...@va...> - 2009-04-15 02:57:18
|
Author: njn Date: 2009-04-15 03:56:49 +0100 (Wed, 15 Apr 2009) New Revision: 9535 Log: Put files in alphabetical order. Modified: branches/DARWIN/none/tests/x86/Makefile.am Modified: branches/DARWIN/none/tests/x86/Makefile.am =================================================================== --- branches/DARWIN/none/tests/x86/Makefile.am 2009-04-15 02:45:41 UTC (rev 9534) +++ branches/DARWIN/none/tests/x86/Makefile.am 2009-04-15 02:56:49 UTC (rev 9535) @@ -72,12 +72,12 @@ fxtract \ getseg \ incdec_alt \ + int \ $(INSN_TESTS) \ jcxz \ lahf \ looper \ movx \ - int \ pushpopseg \ sbbmisc \ smc1 \ |
|
From: Tom H. <th...@cy...> - 2009-04-15 02:47:17
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-04-15 03:10:05 BST Results differ 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 484 tests, 4 stderr failures, 1 stdout failure, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) none/tests/linux/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Apr 15 03:28:30 2009 --- new.short Wed Apr 15 03:47:00 2009 *************** *** 8,14 **** ! == 484 tests, 4 stderr failures, 1 stdout failure, 0 post failures == ! exp-ptrcheck/tests/ccc (stderr) ! exp-ptrcheck/tests/preen_invars (stderr) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) none/tests/linux/mremap2 (stdout) --- 8,10 ---- ! == 484 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-04-15 02:46:02
|
Author: njn Date: 2009-04-15 03:45:41 +0100 (Wed, 15 Apr 2009) New Revision: 9534 Log: Put files in alphabetical order. Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am =================================================================== --- branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-15 02:38:41 UTC (rev 9533) +++ branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-15 02:45:41 UTC (rev 9534) @@ -32,8 +32,8 @@ fprem \ fxsave \ pushfw_x86 \ - xor-undef-x86 \ - sse_memory + sse_memory \ + xor-undef-x86 # DDD: not sure if these ones should work on Darwin or not... if not, should # be moved into x86-linux/. |
|
From: <sv...@va...> - 2009-04-15 02:39:13
|
Author: njn
Date: 2009-04-15 03:38:41 +0100 (Wed, 15 Apr 2009)
New Revision: 9533
Log:
Create three header files, tests/malloc.h, tests/sys_mman.h, and tests/asm.h
that factor out common platform differences in the tests, and applied them.
This reduces the number of failures by 24, mostly by allowing a number of
tests containing asm code to run again. It also fixes bug #179731.
Added:
branches/DARWIN/tests/asm.h
branches/DARWIN/tests/malloc.h
branches/DARWIN/tests/sys_mman.h
Modified:
branches/DARWIN/Makefile.tool-tests.am
branches/DARWIN/exp-ptrcheck/tests/mm.c
branches/DARWIN/massif/tests/custom_alloc.c
branches/DARWIN/massif/tests/malloc_usable.c
branches/DARWIN/memcheck/tests/addressable.c
branches/DARWIN/memcheck/tests/amd64/sse_memory.c
branches/DARWIN/memcheck/tests/badjump.c
branches/DARWIN/memcheck/tests/custom_alloc.c
branches/DARWIN/memcheck/tests/file_locking.c
branches/DARWIN/memcheck/tests/linux/stack_switch.c
branches/DARWIN/memcheck/tests/mallinfo.c
branches/DARWIN/memcheck/tests/malloc_usable.c
branches/DARWIN/memcheck/tests/memalign2.c
branches/DARWIN/memcheck/tests/mempool.c
branches/DARWIN/memcheck/tests/mmaptest.c
branches/DARWIN/memcheck/tests/origin1-yes.c
branches/DARWIN/memcheck/tests/pointer-trace.c
branches/DARWIN/memcheck/tests/sh-mem-random.c
branches/DARWIN/memcheck/tests/sigaltstack.c
branches/DARWIN/memcheck/tests/signal2.c
branches/DARWIN/memcheck/tests/stack_changes.c
branches/DARWIN/memcheck/tests/str_tester.c
branches/DARWIN/memcheck/tests/x86-linux/bug133694.c
branches/DARWIN/memcheck/tests/x86/Makefile.am
branches/DARWIN/memcheck/tests/x86/fxsave.c
branches/DARWIN/none/tests/amd64/bug137714-amd64.c
branches/DARWIN/none/tests/amd64/faultstatus.c
branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c
branches/DARWIN/none/tests/amd64/redundantRexW.c
branches/DARWIN/none/tests/amd64/smc1.c
branches/DARWIN/none/tests/amd64/ssse3_misaligned.c
branches/DARWIN/none/tests/faultstatus.c
branches/DARWIN/none/tests/linux/mremap.c
branches/DARWIN/none/tests/linux/mremap2.c
branches/DARWIN/none/tests/map_unaligned.c
branches/DARWIN/none/tests/map_unmap.c
branches/DARWIN/none/tests/munmap_exe.c
branches/DARWIN/none/tests/ppc32/jm-insns.c
branches/DARWIN/none/tests/ppc32/test_fx.c
branches/DARWIN/none/tests/ppc32/test_gx.c
branches/DARWIN/none/tests/susphello.c
branches/DARWIN/none/tests/x86/Makefile.am
branches/DARWIN/none/tests/x86/bug126147-x86.c
branches/DARWIN/none/tests/x86/cmpxchg8b.c
branches/DARWIN/none/tests/x86/faultstatus.c
branches/DARWIN/none/tests/x86/fcmovnu.c
branches/DARWIN/none/tests/x86/fxtract.c
branches/DARWIN/none/tests/x86/incdec_alt.c
branches/DARWIN/none/tests/x86/jcxz.c
branches/DARWIN/none/tests/x86/lahf.c
branches/DARWIN/none/tests/x86/looper.c
branches/DARWIN/none/tests/x86/sbbmisc.c
branches/DARWIN/none/tests/x86/ssse3_misaligned.c
branches/DARWIN/perf/Makefile.am
branches/DARWIN/perf/bigcode.c
branches/DARWIN/perf/bz2.c
branches/DARWIN/tests/Makefile.am
Modified: branches/DARWIN/Makefile.tool-tests.am
===================================================================
--- branches/DARWIN/Makefile.tool-tests.am 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/Makefile.tool-tests.am 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,3 +1,4 @@
+# This file is used for tool tests, and also in perf/Makefile.am.
include $(top_srcdir)/Makefile.flags.am # For AM_FLAG_M3264_PRI
Modified: branches/DARWIN/exp-ptrcheck/tests/mm.c
===================================================================
--- branches/DARWIN/exp-ptrcheck/tests/mm.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/exp-ptrcheck/tests/mm.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
#include "arith_include1.c"
@@ -11,10 +11,6 @@
write(-1, buf, len);
}
-#if defined(__APPLE__)
-# define MAP_ANONYMOUS MAP_ANON
-#endif
-
int main(void)
{
struct sigaction sigsegv;
Modified: branches/DARWIN/massif/tests/custom_alloc.c
===================================================================
--- branches/DARWIN/massif/tests/custom_alloc.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/massif/tests/custom_alloc.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
@@ -14,7 +14,7 @@
void* get_superblock(void)
{
void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANON, -1, 0 );
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
assert(p != ((void*)(-1)));
Modified: branches/DARWIN/massif/tests/malloc_usable.c
===================================================================
--- branches/DARWIN/massif/tests/malloc_usable.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/massif/tests/malloc_usable.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,15 +1,11 @@
#include <assert.h>
-#if defined(__APPLE__)
-#include <malloc/malloc.h>
-#else
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
-# if !defined(_AIX) && !defined(__APPLE__)
+# if !defined(VGO_aix5) && !defined(VGO_darwin)
// Because our allocations are in multiples of 8 or 16, 99 will round up
// to 104 or 112.
int* x = malloc(99);
Modified: branches/DARWIN/memcheck/tests/addressable.c
===================================================================
--- branches/DARWIN/memcheck/tests/addressable.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/addressable.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,6 @@
/* Test different kinds of addressability and definedness */
#include "../memcheck.h"
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <sys/resource.h>
#include <unistd.h>
@@ -14,19 +14,18 @@
static char *mm(char *addr, int size, int prot)
{
- #if defined(__APPLE__)
- # define MAP_ANONYMOUS MAP_ANON
- #endif
int flags = MAP_PRIVATE | MAP_ANONYMOUS;
char *ret;
- if (addr) flags |= MAP_FIXED;
+ if (addr)
+ flags |= MAP_FIXED;
ret = mmap(addr, size, prot, flags, -1, 0);
if (ret == (char *)-1) {
perror("mmap failed");
exit(1);
}
+
return ret;
}
@@ -34,6 +33,7 @@
static void test1()
{
char *m = mm(0, pgsz * 5, PROT_READ);
+
VALGRIND_CHECK_MEM_IS_DEFINED(m, pgsz*5); /* all defined */
}
Modified: branches/DARWIN/memcheck/tests/amd64/sse_memory.c
===================================================================
--- branches/DARWIN/memcheck/tests/amd64/sse_memory.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/amd64/sse_memory.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6,7 +6,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
-#include <malloc.h>
+#include "tests/malloc.h"
#include <string.h>
typedef unsigned char V128[16];
@@ -148,7 +148,7 @@
} \
for (i = 0; i < 5; i++) { \
randRMArgs(&margs); \
- buf = memalign(16,mem_size); \
+ buf = memalign16(mem_size); \
randomise(buf,mem_size); \
r_m_##insn(&margs,buf); \
showRM(#insn, &margs, buf, mem_size, res_mask);\
Modified: branches/DARWIN/memcheck/tests/badjump.c
===================================================================
--- branches/DARWIN/memcheck/tests/badjump.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/badjump.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,5 @@
-char* get_bad_place ( void );
+#include "tests/sys_mman.h"
+
int main ( void )
{
#if defined(__powerpc64__) || defined(_AIX)
@@ -7,32 +8,13 @@
uniform behaviour on all supported targets - a jump to an
unmapped page - the following is needed. */
unsigned long long int fake_fndescr[3];
- fake_fndescr[0] = (unsigned long long int)get_bad_place();
+ fake_fndescr[0] = (unsigned long long int)get_unmapped_page();
fake_fndescr[1] = 0;
fake_fndescr[2] = 0;
return ((int(*)(void)) fake_fndescr) ();
#else
- char* p = get_bad_place();
+ char* p = get_unmapped_page();
return ((int(*)(void)) p) ();
#endif
}
-#include <sys/mman.h>
-#include <assert.h>
-#include <unistd.h>
-
-/* map a page, then unmap it, then return that address. That
- guarantees to give an address which will fault when accessed,
- without making any assumptions about the layout of the address
- space. */
-
-char* get_bad_place ( void )
-{
- long pagesz = sysconf(_SC_PAGE_SIZE);
- assert(pagesz == 4096 || pagesz == 65536);
- void* ptr = mmap(0, pagesz, PROT_READ, MAP_ANON|MAP_PRIVATE, -1, 0);
- assert(ptr != (void*)-1);
- int r = munmap(ptr, pagesz);
- assert(r == 0);
- return ptr;
-}
Modified: branches/DARWIN/memcheck/tests/custom_alloc.c
===================================================================
--- branches/DARWIN/memcheck/tests/custom_alloc.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/custom_alloc.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
@@ -14,7 +14,7 @@
void* get_superblock(void)
{
void* p = mmap( 0, SUPERBLOCK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANON, -1, 0 );
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 );
assert(p != ((void*)(-1)));
Modified: branches/DARWIN/memcheck/tests/file_locking.c
===================================================================
--- branches/DARWIN/memcheck/tests/file_locking.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/file_locking.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -9,7 +9,7 @@
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
Modified: branches/DARWIN/memcheck/tests/linux/stack_switch.c
===================================================================
--- branches/DARWIN/memcheck/tests/linux/stack_switch.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/linux/stack_switch.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6,7 +6,7 @@
#include <sched.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <sys/syscall.h>
#include <sys/wait.h>
#include <unistd.h>
Modified: branches/DARWIN/memcheck/tests/mallinfo.c
===================================================================
--- branches/DARWIN/memcheck/tests/mallinfo.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/mallinfo.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,8 +1,4 @@
-#if defined(__APPLE__)
-#include <malloc/malloc.h>
-#else
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> // getopt()
Modified: branches/DARWIN/memcheck/tests/malloc_usable.c
===================================================================
--- branches/DARWIN/memcheck/tests/malloc_usable.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/malloc_usable.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,15 +1,11 @@
#include <assert.h>
-#if defined(__APPLE__)
-#include <malloc/malloc.h>
-#else
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
-# if !defined(_AIX) && !defined(__APPLE__)
+# if !defined(VGO_aix5) && !defined(VGO_darwin)
// Because Memcheck marks any slop as inaccessible, it doesn't round up
// sizes for malloc_usable_size().
int* x = malloc(99);
Modified: branches/DARWIN/memcheck/tests/memalign2.c
===================================================================
--- branches/DARWIN/memcheck/tests/memalign2.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/memalign2.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -14,23 +14,20 @@
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
-#if defined(__APPLE__)
-#include <malloc/malloc.h>
-#else
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <errno.h>
int main ( void )
{
-# if defined(_AIX)
+# if defined(VGO_aix5)
// AIX 5.2 has neither memalign() nor posix_memalign(); do nothing.
-# elif defined(__APPLE__)
+# elif defined(VGO_darwin)
// Likewise for Mac OS X.
# else
// Nb: assuming VG_MIN_MALLOC_SZB is 8!
+ // DDD: (this is no longer true)
// Should work with both 32-bit and 64-bit pointers, though.
int* p;
Modified: branches/DARWIN/memcheck/tests/mempool.c
===================================================================
--- branches/DARWIN/memcheck/tests/mempool.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/mempool.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,18 +1,17 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
+
#include "../memcheck.h"
-#if !defined(MAP_ANONYMOUS)
-#define MAP_ANONYMOUS 0
-#endif
#define SUPERBLOCK_SIZE 100000
#define REDZONE_SIZE 8
static const int USE_MMAP = 0;
-typedef struct _level_list {
+typedef struct _level_list
+{
struct _level_list *next;
char *where;
} level_list;
@@ -27,6 +26,7 @@
pool *make_pool()
{
pool *p;
+
if(USE_MMAP) {
p = (pool *)mmap(0, sizeof(pool), PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
Modified: branches/DARWIN/memcheck/tests/mmaptest.c
===================================================================
--- branches/DARWIN/memcheck/tests/mmaptest.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/mmaptest.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -2,7 +2,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main()
{
Modified: branches/DARWIN/memcheck/tests/origin1-yes.c
===================================================================
--- branches/DARWIN/memcheck/tests/origin1-yes.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/origin1-yes.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -13,7 +13,7 @@
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
#include "../memcheck.h"
@@ -124,9 +124,6 @@
// mmap block, initialised
{
- #if defined(__APPLE__)
- # define MAP_ANONYMOUS MAP_ANON
- #endif
int* ptr_to_def_mmap_int =
mmap(0, 4096, PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
int def_mmap_int = *ptr_to_def_mmap_int;
Modified: branches/DARWIN/memcheck/tests/pointer-trace.c
===================================================================
--- branches/DARWIN/memcheck/tests/pointer-trace.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/pointer-trace.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -2,15 +2,14 @@
Make sure that leak-check's pointer tracing avoids traps, i.e. tricky
memory areas where it could crash if not careful.
*/
+
#include <stdio.h>
#include "memcheck/memcheck.h"
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
-#if defined(__APPLE__)
-# define MAP_ANONYMOUS MAP_ANON
-#endif
+
#if !defined(MAP_NORESERVE)
# define MAP_NORESERVE 0
#endif
@@ -21,6 +20,7 @@
int i;
int fd;
char *map;
+
/* I _think_ the point of this is to fill ptrs with a pointer
to every 4th page in the entire address space, hence
guaranteeing that at least one of them points into one of
Modified: branches/DARWIN/memcheck/tests/sh-mem-random.c
===================================================================
--- branches/DARWIN/memcheck/tests/sh-mem-random.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/sh-mem-random.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -5,7 +5,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include "memcheck/memcheck.h"
// All the sizes here are in *bytes*, not bits.
@@ -22,11 +22,7 @@
#define PAGE_SIZE 4096ULL
-#if !defined(MAP_ANONYMOUS)
-#define MAP_ANONYMOUS 0
-#endif
-
// XXX: should check the error cases for SET/GET_VBITS also
// For the byte 'x', build a value of 'size' bytes from that byte, eg:
Modified: branches/DARWIN/memcheck/tests/sigaltstack.c
===================================================================
--- branches/DARWIN/memcheck/tests/sigaltstack.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/sigaltstack.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -3,7 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
void sig_handler(int sig){
int var;
@@ -19,7 +19,7 @@
// ask for an alt stack with EXEC permissions,
// since signal returning requires execution of code on the stack.
char *stk = (char *)mmap(0, size, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_ANON|MAP_PRIVATE, -1, 0);
+ MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
sigstk.ss_sp = stk;
sigstk.ss_size = size;
Modified: branches/DARWIN/memcheck/tests/signal2.c
===================================================================
--- branches/DARWIN/memcheck/tests/signal2.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/signal2.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -2,39 +2,20 @@
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
+#include "tests/sys_mman.h"
void sig_hdlr ( int signo ) {
printf ( "caught sig segv\n" ); exit(1);
}
-char* get_bad_place ( void );
int main ( void ) {
char* badplace;
printf ( "installing sig handler\n" );
signal(SIGSEGV, sig_hdlr);
printf ( "doing bad thing\n" );
- badplace = get_bad_place();
+ badplace = get_unmapped_page();
*(int*)badplace = 0;
printf ( "exited normally ?!\n" );
return 0;
}
-#include <sys/mman.h>
-#include <assert.h>
-#include <unistd.h>
-
-/* map a page, then unmap it, then return that address. That
- guarantees to give an address which will fault when accessed,
- without making any assumptions about the layout of the address
- space. */
-
-char* get_bad_place ( void )
-{
- long pagesz = sysconf(_SC_PAGE_SIZE);
- assert(pagesz == 4096 || pagesz == 65536);
- void* ptr = mmap(0, pagesz, PROT_READ, MAP_ANON|MAP_PRIVATE, -1, 0);
- assert(ptr != (void*)-1);
- int r = munmap(ptr, pagesz);
- assert(r == 0);
- return ptr;
-}
Modified: branches/DARWIN/memcheck/tests/stack_changes.c
===================================================================
--- branches/DARWIN/memcheck/tests/stack_changes.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/stack_changes.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,7 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <ucontext.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include "valgrind.h"
@@ -39,7 +39,7 @@
}
stack = (void *)mmap(0, STACK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_ANON|MAP_PRIVATE, -1, 0);
+ MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
if (stack == (void*)-1) {
perror("mmap");
Modified: branches/DARWIN/memcheck/tests/str_tester.c
===================================================================
--- branches/DARWIN/memcheck/tests/str_tester.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/str_tester.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -264,6 +264,7 @@
SIMPLE_COPY(stpcpy, 16, "6666666666666666", 59);
}
+// DDD: better done by testing for the function.
#if !defined(__APPLE__)
static void
test_stpncpy (void)
@@ -465,6 +466,7 @@
}
}
+// DDD: better done by testing for the function.
#if !defined(_AIX) && !defined(__APPLE__)
static void
test_strchrnul (void)
@@ -501,6 +503,7 @@
}
#endif /* !defined(_AIX) */
+// DDD: better done by testing for the function.
#if !defined(_AIX) && !defined(__APPLE__)
static void
test_rawmemchr (void)
@@ -576,6 +579,7 @@
}
}
+// DDD: better done by testing for the function.
#if !defined(_AIX) && !defined(__APPLE__)
static void
test_memrchr (void)
Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-04-15 02:38:41 UTC (rev 9533)
@@ -29,19 +29,20 @@
bug152022 \
espindola2 \
fpeflags \
+ fprem \
+ fxsave \
pushfw_x86 \
- fprem xor-undef-x86
+ xor-undef-x86 \
+ sse_memory
# 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 += \
- fxsave \
int3-x86 \
more_x86_fp \
pushfpopf \
pushpopmem \
- sse_memory \
tronical
endif
Modified: branches/DARWIN/memcheck/tests/x86/fxsave.c
===================================================================
--- branches/DARWIN/memcheck/tests/x86/fxsave.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/x86/fxsave.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,11 +1,8 @@
#include <stdio.h>
#include <stdlib.h>
-#if defined(__APPLE__)
-# include <malloc/malloc.h>
-#else
-# include <malloc.h>
-#endif
+#include "tests/asm.h"
+#include "tests/malloc.h"
#include <string.h>
const unsigned int vec0[4]
@@ -38,14 +35,14 @@
"fldz\n\t"
"fldz\n\t"
"finit\n");
- asm __volatile__("movups vecZ, %xmm0");
- asm __volatile__("movups vecZ, %xmm1");
- asm __volatile__("movups vecZ, %xmm2");
- asm __volatile__("movups vecZ, %xmm3");
- asm __volatile__("movups vecZ, %xmm4");
- asm __volatile__("movups vecZ, %xmm5");
- asm __volatile__("movups vecZ, %xmm6");
- asm __volatile__("movups vecZ, %xmm7");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm0");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm1");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm2");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm3");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm4");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm5");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm6");
+ asm __volatile__("movups " VG_SYM(vecZ) ", %xmm7");
asm __volatile__(
"pushl $0\n\t"
"ldmxcsr 0(%esp)\n\t"
@@ -62,8 +59,8 @@
asm __volatile__("fldlg2");
asm __volatile__("fld %st(3)");
asm __volatile__("fld %st(3)");
- asm __volatile__("movups vec0, %xmm0");
- asm __volatile__("movups vec1, %xmm1");
+ asm __volatile__("movups " VG_SYM(vec0) ", %xmm0");
+ asm __volatile__("movups " VG_SYM(vec1) ", %xmm1");
asm __volatile__("xorps %xmm2, %xmm2");
asm __volatile__("movaps %xmm2, %xmm3");
asm __volatile__("movaps %xmm2, %xmm4");
@@ -106,9 +103,9 @@
int main ( int argc, char** argv )
{
- unsigned char* buf1 = memalign(16,512);
- unsigned char* buf2 = memalign(16,512);
- unsigned char* buf3 = memalign(16,512);
+ unsigned char* buf1 = memalign16(512);
+ unsigned char* buf2 = memalign16(512);
+ unsigned char* buf3 = memalign16(512);
int xx = argc > 1;
printf("Re-run with any arg to suppress least-significant\n"
" 16 bits of FP numbers\n");
Modified: branches/DARWIN/memcheck/tests/x86-linux/bug133694.c
===================================================================
--- branches/DARWIN/memcheck/tests/x86-linux/bug133694.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/memcheck/tests/x86-linux/bug133694.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
int main(int argc, char **argv)
{
Modified: branches/DARWIN/none/tests/amd64/bug137714-amd64.c
===================================================================
--- branches/DARWIN/none/tests/amd64/bug137714-amd64.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/bug137714-amd64.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
#include <assert.h>
typedef unsigned char UChar;
Modified: branches/DARWIN/none/tests/amd64/faultstatus.c
===================================================================
--- branches/DARWIN/none/tests/amd64/faultstatus.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/faultstatus.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
struct test {
Modified: branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c
===================================================================
--- branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/nibz_bennee_mmap.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -27,12 +27,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "vgtest_sys_mman.h"
-#if !defined(MAP_ANONYMOUS)
-#define MAP_ANONYMOUS 0
-#endif
-
int main(int argc, char **argv)
{
void *p;
Modified: branches/DARWIN/none/tests/amd64/redundantRexW.c
===================================================================
--- branches/DARWIN/none/tests/amd64/redundantRexW.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/redundantRexW.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -7,9 +7,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
-#if !defined(__APPLE__)
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
typedef unsigned char UChar;
@@ -170,20 +168,9 @@
{
XMMRegs* regs;
Mem* mem;
- // Darwin lacks memalign, but malloc is always 16-aligned anyway.
- #if defined(__APPLE__)
- regs = malloc(sizeof(XMMRegs) + 16); assert(regs);
- mem = malloc(sizeof(Mem) + 16); assert(mem);
- #else
- regs = memalign(16, sizeof(XMMRegs) + 16); assert(regs);
- mem = memalign(16, sizeof(Mem) + 16); assert(mem);
- #endif
+ regs = memalign16(sizeof(XMMRegs) + 16);
+ mem = memalign16(sizeof(Mem) + 16);
- /* Both have to be 16-aligned so we can do movapd et al. 16-byte
- * alignment is standard on AMD64. */
- assert( 0 == (0xFL & (unsigned long int)regs) );
- assert( 0 == (0xFL & (unsigned long int)mem) );
-
/* addpd mem, reg 66 49 0f 58 48 00 rex.WB addpd 0x0(%r8),%xmm1 */
{
before_test( regs, mem );
Modified: branches/DARWIN/none/tests/amd64/smc1.c
===================================================================
--- branches/DARWIN/none/tests/amd64/smc1.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/smc1.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -31,7 +31,7 @@
#include <stdio.h>
#include <assert.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
typedef unsigned long long int Addr;
typedef unsigned char UChar;
@@ -101,7 +101,7 @@
{
int i;
code = mmap(NULL, 20, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_ANON, -1, 0);
+ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
assert(code != MAP_FAILED);
for (i = 0; i < 10; i += 2) {
set_dest ( (Addr)&p );
Modified: branches/DARWIN/none/tests/amd64/ssse3_misaligned.c
===================================================================
--- branches/DARWIN/none/tests/amd64/ssse3_misaligned.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/amd64/ssse3_misaligned.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,8 +1,5 @@
-
-#if !defined(__APPLE__)
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -11,14 +8,7 @@
void maybe_fault ( int delta )
{
- // Darwin lacks memalign, but malloc is always 16-aligned anyway.
- #if defined(__APPLE__)
- char* x = malloc(32/*size*/);
- #else
- char* x = memalign(16/*alignment*/,32/*size*/);
- #endif
- assert(x);
- assert(0 == ((16-1) & (unsigned long)x));
+ char* x = memalign16(32);
memset(x, 0, 32);
__asm__ __volatile__(
"pabsb (%0),%%xmm7"
Modified: branches/DARWIN/none/tests/faultstatus.c
===================================================================
--- branches/DARWIN/none/tests/faultstatus.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/faultstatus.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
/*
Modified: branches/DARWIN/none/tests/linux/mremap.c
===================================================================
--- branches/DARWIN/none/tests/linux/mremap.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/linux/mremap.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,5 +1,5 @@
#define _GNU_SOURCE
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <stdlib.h>
Modified: branches/DARWIN/none/tests/linux/mremap2.c
===================================================================
--- branches/DARWIN/none/tests/linux/mremap2.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/linux/mremap2.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -2,7 +2,7 @@
#include <stdio.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <assert.h>
#include <stdlib.h>
#include <sys/types.h>
Modified: branches/DARWIN/none/tests/map_unaligned.c
===================================================================
--- branches/DARWIN/none/tests/map_unaligned.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/map_unaligned.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,11 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
-#if defined(__APPLE__)
-# define MAP_ANONYMOUS MAP_ANON
-#endif
-
int main(int argc, char **argv)
{
void *p1;
Modified: branches/DARWIN/none/tests/map_unmap.c
===================================================================
--- branches/DARWIN/none/tests/map_unmap.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/map_unmap.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,5 +1,5 @@
#include <stdio.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdlib.h>
#include <unistd.h>
@@ -10,7 +10,7 @@
static void *domap(void)
{
- void *ret = mmap(0, LEN, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);
+ void *ret = mmap(0, LEN, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (ret == (void *)-1) {
perror("mmap");
Modified: branches/DARWIN/none/tests/munmap_exe.c
===================================================================
--- branches/DARWIN/none/tests/munmap_exe.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/munmap_exe.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,5 +1,5 @@
#include <unistd.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <stdio.h>
#include <stdlib.h>
@@ -11,7 +11,7 @@
{
void* m;
- m = mmap(NULL, 100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0);
+ m = mmap(NULL, 100, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (m == (void*)-1) {
fprintf(stderr, "error mmapping\n");
Modified: branches/DARWIN/none/tests/ppc32/jm-insns.c
===================================================================
--- branches/DARWIN/none/tests/ppc32/jm-insns.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/ppc32/jm-insns.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -166,7 +166,7 @@
#include <stdint.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
/* Something of the same size as void*, so can be safely be coerced
to/from a pointer type. Also same size as the host's gp registers. */
@@ -229,10 +229,8 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h> // getopt
-#include <malloc.h>
-
#ifndef __powerpc64__
#define ASSEMBLY_FUNC(__fname, __insn) \
asm(".section \".text\"\n" \
@@ -4403,7 +4401,7 @@
{
#if !defined (ALTIVEC_ARGS_LARGE)
unsigned int i=2;
- viargs = memalign(16, i * sizeof(vector unsigned int));
+ viargs = memalign16(i * sizeof(vector unsigned int));
viargs[0] = (vector unsigned int) { 0x01020304,0x05060708,0x090A0B0C,0x0E0D0E0F };
AB_DPRINTF_VEC32x4( viargs[0] );
viargs[1] = (vector unsigned int) { 0xF1F2F3F4,0xF5F6F7F8,0xF9FAFBFC,0xFEFDFEFF };
@@ -4459,7 +4457,7 @@
#if !defined (ALTIVEC_ARGS_LARGE)
nb_vfargs = 12;
- vfargs = memalign(16, nb_vfargs * sizeof(vector float));
+ vfargs = memalign16(nb_vfargs * sizeof(vector float));
// 4 values:
for (s=0; s<2; s++) {
@@ -4474,7 +4472,7 @@
}
#else
nb_vfargs = 50;
- vfargs = memalign(16, nb_vfargs * sizeof(vector float));
+ vfargs = memalign16(nb_vfargs * sizeof(vector float));
for (s=0; s<2; s++) {
for (_exp=0x0; ; _exp += 0x3F ) {
@@ -6763,7 +6761,7 @@
vector unsigned int* viargs_priv;
// private viargs table to store to
- viargs_priv = memalign(16,(nb_viargs * sizeof(vector unsigned int)));
+ viargs_priv = memalign16(nb_viargs * sizeof(vector unsigned int));
for (i=0; i<nb_viargs; i++)
viargs_priv[i] = (vector unsigned int) { 0,0,0,0 };
Modified: branches/DARWIN/none/tests/ppc32/test_fx.c
===================================================================
--- branches/DARWIN/none/tests/ppc32/test_fx.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/ppc32/test_fx.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include <stdlib.h>
double do_fsqrt ( double x )
{
Modified: branches/DARWIN/none/tests/ppc32/test_gx.c
===================================================================
--- branches/DARWIN/none/tests/ppc32/test_gx.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/ppc32/test_gx.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,6 @@
#include <stdio.h>
-#include <malloc.h>
+#include "tests/malloc.h"
/* This is a Marie Celeste instruction. Some IBM documents think it
exists, others don't. The same appears to be true for
Modified: branches/DARWIN/none/tests/susphello.c
===================================================================
--- branches/DARWIN/none/tests/susphello.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/susphello.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -7,6 +7,7 @@
* Author Magnus Ihse, ihse at bea.com
*/
+// DDD: add a comment explaining why it's not tested on Darwin.
#if !defined(__APPLE__)
#include <signal.h>
Modified: branches/DARWIN/none/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/x86/Makefile.am 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/Makefile.am 2009-04-15 02:38:41 UTC (rev 9533)
@@ -58,16 +58,30 @@
yield.stderr.exp yield.stdout.exp yield.disabled
check_PROGRAMS = \
- badseg bt_everything bt_literal \
+ badseg \
+ bt_everything \
+ bt_literal \
+ bug126147-x86 \
bug132813-x86 \
bug135421-x86 \
bug137714-x86 \
+ cmpxchg8b \
cse_fail \
+ fcmovnu \
fpu_lazy_eflags \
+ fxtract \
getseg \
+ incdec_alt \
$(INSN_TESTS) \
- movx int pushpopseg \
- smc1 yield
+ jcxz \
+ lahf \
+ looper \
+ movx \
+ int \
+ pushpopseg \
+ sbbmisc \
+ smc1 \
+ yield
if BUILD_SSSE3_TESTS
check_PROGRAMS += ssse3_misaligned
endif
@@ -77,18 +91,9 @@
if ! VGCONF_OS_IS_DARWIN
check_PROGRAMS += \
bug125959-x86 \
- bug126147-x86 \
bug152818-x86 \
- cmpxchg8b \
cpuid \
faultstatus \
- fcmovnu \
- fxtract \
- incdec_alt \
- jcxz \
- lahf \
- looper \
- sbbmisc \
seg_override \
sigcontext
endif
Modified: branches/DARWIN/none/tests/x86/bug126147-x86.c
===================================================================
--- branches/DARWIN/none/tests/x86/bug126147-x86.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/bug126147-x86.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -19,10 +19,8 @@
extern char *mystrncpy(char *dest, const char *src, size_t n);
asm(
".text\n"
-".globl mystrncpy\n"
-".type mystrncpy,@function\n"
"\n"
-"mystrncpy:\n"
+VG_SYM(mystrncpy) ":\n"
" pushl %esi\n"
" pushl %edi\n"
" movl %esp, %ecx\n"
@@ -32,20 +30,19 @@
"\n"
" movl %edi, %edx\n"
" cld\n"
-".Lzzloop:\n"
+"0:\n"
" dec %ecx\n"
-" js .Lzzout\n"
+" js 1f\n"
" lodsb\n"
" stosb\n"
" or %al, %al\n"
-" jnz .Lzzloop\n"
+" jnz 0b\n"
" repnz stosb\n"
-".Lzzout:\n"
+"1:\n"
" movl %edx, %eax\n"
" popl %edi\n"
" popl %esi\n"
" ret\n"
-".previous\n"
"\n"
);
@@ -66,8 +63,7 @@
unsigned int base, int UpCase);
asm(
".text\n"
-".globl __ltostr\n"
-"__ltostr:\n"
+VG_SYM(__ltostr) ":\n"
" pushl %esi\n"
" pushl %edi # destination\n"
" pushl %ebp\n"
@@ -79,27 +75,27 @@
" movl 0x1c(%eax), %eax # dividend\n"
" decl %ecx\n"
" movl %ecx, %esi\n"
-" movl $('A'-0xa), %ebp\n"
+" movl $55, %ebp # 55 == char(A)-10\n"
" xorl %edx, %edx # must be 0 -- used by idiv\n"
" cmpl $0x0, 36(%esp) # check for uppercase\n"
-" jnz .Lyynext\n"
+" jnz 0f\n"
" addl $0x20, %ebp # set lowercase\n"
-".Lyynext:\n"
+"0:\n"
" idiv %ebx, %eax\n"
" cmpb $0x9, %dl\n"
-" jg .Lyynext2\n"
-" addb $'0', %dl\n"
-" jmp .Lyystos\n"
-".Lyynext2:\n"
+" jg 1f\n"
+" addb $48, %dl # 48 == '0'\n"
+" jmp 2f\n"
+"1:\n"
" addl %ebp, %edx\n"
-".Lyystos:\n"
+"2:\n"
" movb %dl, (%edi, %ecx)\n"
" xorl %edx, %edx\n"
" decl %ecx\n"
-" jz .Lyyout\n"
+" jz 3f\n"
" orl %eax, %eax\n"
-" jnz .Lyynext\n"
-".Lyyout:\n"
+" jnz 0b\n"
+"3:\n"
" cld\n"
" movl %esi, %ebx\n"
" leal 1(%edi, %ecx), %esi\n"
@@ -113,7 +109,6 @@
" popl %edi\n"
" popl %esi\n"
" ret\n"
-".previous\n"
);
#define STREQ(a, b) (strcmp((a), (b)) == 0)
Modified: branches/DARWIN/none/tests/x86/cmpxchg8b.c
===================================================================
--- branches/DARWIN/none/tests/x86/cmpxchg8b.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/cmpxchg8b.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
typedef unsigned long long int ULong;
@@ -14,7 +14,7 @@
extern void foo ( void );
asm("\n"
- "foo:\n"
+ VG_SYM(foo) ":\n"
"\tpushl %eax\n"
"\tpushl %ebx\n"
"\tpushl %ecx\n"
@@ -22,18 +22,18 @@
"\txorl %eax, %eax\n" // get eflags in a known state
- "\tmovl eax,%eax\n"
- "\tmovl ebx,%ebx\n"
- "\tmovl ecx,%ecx\n"
- "\tmovl edx,%edx\n"
- "\tcmpxchg8b m64\n"
- "\tmovl %eax,eax\n"
- "\tmovl %ebx,ebx\n"
- "\tmovl %ecx,ecx\n"
- "\tmovl %edx,edx\n"
+ "\tmovl " VG_SYM(eax) ",%eax\n"
+ "\tmovl " VG_SYM(ebx) ",%ebx\n"
+ "\tmovl " VG_SYM(ecx) ",%ecx\n"
+ "\tmovl " VG_SYM(edx) ",%edx\n"
+ "\tcmpxchg8b " VG_SYM(m64) "\n"
+ "\tmovl %eax," VG_SYM(eax) "\n"
+ "\tmovl %ebx," VG_SYM(ebx) "\n"
+ "\tmovl %ecx," VG_SYM(ecx) "\n"
+ "\tmovl %edx," VG_SYM(edx) "\n"
"\tpushfl\n"
"\tpopl %eax\n"
- "\tmovl %eax,zout\n"
+ "\tmovl %eax," VG_SYM(zout) "\n"
"\tpopl %edx\n"
"\tpopl %ecx\n"
Modified: branches/DARWIN/none/tests/x86/faultstatus.c
===================================================================
--- branches/DARWIN/none/tests/x86/faultstatus.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/faultstatus.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6,7 +6,7 @@
#include <stdlib.h>
#include <fcntl.h>
#include <setjmp.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
#include <unistd.h>
struct test {
Modified: branches/DARWIN/none/tests/x86/fcmovnu.c
===================================================================
--- branches/DARWIN/none/tests/x86/fcmovnu.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/fcmovnu.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
double zzz;
@@ -15,7 +15,7 @@
"movl $0,%esi\n\t"
"add %esi,%esi\n\t"
"fcmovnu %st(1), %st(0)\n\t"
- "fstl zzz\n\t"
+ "fstl " VG_SYM(zzz) "\n\t"
"finit\n\t"
"popl %esi\n\t"
);
Modified: branches/DARWIN/none/tests/x86/fxtract.c
===================================================================
--- branches/DARWIN/none/tests/x86/fxtract.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/fxtract.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
#include <math.h>
@@ -6,13 +6,12 @@
extern void do_fxtract ( void );
asm("\n"
-".global do_fxtract\n"
-"do_fxtract:\n"
+VG_SYM(do_fxtract) ":\n"
"\tfinit\n"
-"\tfldl arg\n"
+"\tfldl " VG_SYM(arg) "\n"
"\tfxtract\n"
-"\tfstpl res1\n"
-"\tfstpl res2\n"
+"\tfstpl " VG_SYM(res1) "\n"
+"\tfstpl " VG_SYM(res2) "\n"
"\tret"
);
Modified: branches/DARWIN/none/tests/x86/incdec_alt.c
===================================================================
--- branches/DARWIN/none/tests/x86/incdec_alt.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/incdec_alt.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,51 +1,52 @@
/* A test of the alternative (redundant) encodings for {inc,dec}{w,l}. */
+#include "tests/asm.h"
#include <stdio.h>
int r1,r2,r3,r4,r5,r6,r7,r8,a1,a2;
extern void foo ( void );
asm("\n"
-"foo:\n"
+VG_SYM(foo) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
-"\tmovl a1,%eax\n"
-"\tmovl a2,%edx\n"
+"\tmovl " VG_SYM(a1) ",%eax\n"
+"\tmovl " VG_SYM(a2) ",%edx\n"
/* inc %eax */
"\t.byte 0xFF\n"
"\t.byte 0xC0\n"
-"\tmovl %eax,r1\n"
+"\tmovl %eax," VG_SYM(r1) "\n"
"\tpushfl\n"
-"\tpopl r2\n"
+"\tpopl " VG_SYM(r2) "\n"
/* inc %dx */
"\t.byte 0x66\n"
"\t.byte 0xFF\n"
"\t.byte 0xC2\n"
-"\tmovl %edx,r3\n"
+"\tmovl %edx," VG_SYM(r3) "\n"
"\tpushfl\n"
-"\tpopl r4\n"
+"\tpopl " VG_SYM(r4) "\n"
/* dec %edx */
"\t.byte 0xFF\n"
"\t.byte 0xCA\n"
-"\tmovl %edx,r5\n"
+"\tmovl %edx," VG_SYM(r5) "\n"
"\tpushfl\n"
-"\tpopl r6\n"
+"\tpopl " VG_SYM(r6) "\n"
/* dec %ax */
"\t.byte 0x66\n"
"\t.byte 0xFF\n"
"\t.byte 0xC8\n"
-"\tmovl %eax,r7\n"
+"\tmovl %eax," VG_SYM(r7) "\n"
"\tpushfl\n"
-"\tpopl r8\n"
+"\tpopl " VG_SYM(r8) "\n"
"\tret\n"
);
Modified: branches/DARWIN/none/tests/x86/jcxz.c
===================================================================
--- branches/DARWIN/none/tests/x86/jcxz.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/jcxz.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -11,12 +11,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy1:\n\t"
- "jcxz .Lfoobar1\n\t"
+ "0:\n\t"
+ "jcxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy1\n"
- ".Lfoobar1:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
@@ -32,12 +32,12 @@
__asm__ __volatile__(
"movl %0,%%ecx\n\t"
"movl $0,%%eax\n"
- ".Lxyzzy2:\n\t"
- "jecxz .Lfoobar2\n\t"
+ "0:\n\t"
+ "jecxz 1f\n\t"
"addl $1, %%eax\n\t"
"subl $1, %%ecx\n\t"
- "jmp .Lxyzzy2\n"
- ".Lfoobar2:\n\t"
+ "jmp 0b\n"
+ "1:\n\t"
"movl %%eax, %1"
: /*out*/ : /*in*/ "m"(block[0]),
"m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
Modified: branches/DARWIN/none/tests/x86/lahf.c
===================================================================
--- branches/DARWIN/none/tests/x86/lahf.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/lahf.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,9 +1,9 @@
-
+#include "tests/asm.h"
#include <stdio.h>
extern int foo_1 ( void );
asm("\n"
-"foo_1:\n"
+VG_SYM(foo_1) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
"\tmovl $0xFFFFFFFF, %eax\n"
@@ -15,7 +15,7 @@
extern int foo_0 ( void );
asm("\n"
-"foo_0:\n"
+VG_SYM(foo_0) ":\n"
"\tpushl $0\n"
"\tpopfl\n"
"\tmovl $0x0, %eax\n"
Modified: branches/DARWIN/none/tests/x86/looper.c
===================================================================
--- branches/DARWIN/none/tests/x86/looper.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/looper.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
int arg = 0;
@@ -7,19 +7,18 @@
extern void loop_plain ( void );
asm("\n"
".text\n"
-".globl loop_plain\n"
-"loop_plain:\n"
+VG_SYM(loop_plain) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123plain:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
-"\tloop .Lmn123plain\n"
+"\tloop 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
@@ -27,19 +26,18 @@
extern void loop_ne ( void );
asm("\n"
".text\n"
-".globl loop_ne\n"
-"loop_ne:\n"
+VG_SYM(loop_ne) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123ne:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
-"\tloopne .Lmn123ne\n"
+"\tloopne 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
@@ -47,13 +45,12 @@
extern void loop_e ( void );
asm("\n"
".text\n"
-".globl loop_e\n"
-"loop_e:\n"
+VG_SYM(loop_e) ":\n"
"\tpushl %ecx\n"
"\tmovl $999, %eax\n"
-"\tmovl arg, %ecx\n"
+"\tmovl " VG_SYM(arg) ", %ecx\n"
-".Lmn123e:\n"
+"0:\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
"\tdecl %eax\n"
@@ -61,9 +58,9 @@
"\tpushfl\n"
"\txorl $64, 0(%esp)\n"
"\tpopfl\n"
-"\tloope .Lmn123e\n"
+"\tloope 0b\n"
-"\tmovl %eax, res\n"
+"\tmovl %eax, " VG_SYM(res) "\n"
"\tpopl %ecx\n"
"\tret\n"
);
Modified: branches/DARWIN/none/tests/x86/sbbmisc.c
===================================================================
--- branches/DARWIN/none/tests/x86/sbbmisc.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/sbbmisc.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,4 +1,4 @@
-
+#include "tests/asm.h"
#include <stdio.h>
char in_b, out_b1, out_b2, in_b2;
@@ -9,17 +9,17 @@
extern void sbb_ib_al ( void );
asm("\n"
-"sbb_ib_al:\n"
+VG_SYM(sbb_ib_al) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
"\tsbbb $5, %al\n"
-"\tmovb %al, out_b1\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
"\tsbbb $5, %al\n"
-"\tmovb %al, out_b2\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -27,17 +27,17 @@
extern void sbb_iw_ax ( void );
asm("\n"
-"sbb_iw_ax:\n"
+VG_SYM(sbb_iw_ax) ":\n"
-"\tmovw in_w, %ax\n"
+"\tmovw " VG_SYM(in_w) ", %ax\n"
"\tclc\n"
"\tsbbw $555, %ax\n"
-"\tmovw %ax, out_w1\n"
+"\tmovw %ax, " VG_SYM(out_w1) "\n"
-"\tmovw in_w, %ax\n"
+"\tmovw " VG_SYM(in_w) ", %ax\n"
"\tstc\n"
"\tsbbw $555, %ax\n"
-"\tmovw %ax, out_w2\n"
+"\tmovw %ax, " VG_SYM(out_w2) "\n"
"\tret\n"
);
@@ -45,17 +45,17 @@
extern void sbb_il_eax ( void );
asm("\n"
-"sbb_il_eax:\n"
+VG_SYM(sbb_il_eax) ":\n"
-"\tmovl in_l, %eax\n"
+"\tmovl " VG_SYM(in_l) ", %eax\n"
"\tclc\n"
"\tsbbl $555666, %eax\n"
-"\tmovl %eax, out_l1\n"
+"\tmovl %eax, " VG_SYM(out_l1) "\n"
-"\tmovl in_l, %eax\n"
+"\tmovl " VG_SYM(in_l) ", %eax\n"
"\tstc\n"
"\tsbbl $555666, %eax\n"
-"\tmovl %eax, out_l2\n"
+"\tmovl %eax, " VG_SYM(out_l2) "\n"
"\tret\n"
);
@@ -63,17 +63,17 @@
extern void sbb_eb_gb ( void );
asm("\n"
-"sbb_eb_gb:\n"
+VG_SYM(sbb_eb_gb) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
-"\tsbbb in_b2, %al\n"
-"\tmovb %al, out_b1\n"
+"\tsbbb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
-"\tsbbb in_b2, %al\n"
-"\tmovb %al, out_b2\n"
+"\tsbbb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -81,20 +81,20 @@
extern void sbb_eb_gb_2 ( void );
asm("\n"
-"sbb_eb_gb_2:\n"
+VG_SYM(sbb_eb_gb_2) ":\n"
"\tpushl %ecx\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tclc\n"
"\tsbbb %dh,%cl\n"
-"\tmovb %cl, out_b1\n"
+"\tmovb %cl, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tstc\n"
"\tsbbb %dh,%cl\n"
-"\tmovb %cl, out_b2\n"
+"\tmovb %cl, " VG_SYM(out_b2) "\n"
"\tpopl %ecx\n"
"\tret\n"
@@ -103,17 +103,17 @@
extern void adc_eb_gb ( void );
asm("\n"
-"adc_eb_gb:\n"
+VG_SYM(adc_eb_gb) ":\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tclc\n"
-"\tadcb in_b2, %al\n"
-"\tmovb %al, out_b1\n"
+"\tadcb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %al\n"
+"\tmovb " VG_SYM(in_b) ", %al\n"
"\tstc\n"
-"\tadcb in_b2, %al\n"
-"\tmovb %al, out_b2\n"
+"\tadcb " VG_SYM(in_b2) ", %al\n"
+"\tmovb %al, " VG_SYM(out_b2) "\n"
"\tret\n"
);
@@ -121,20 +121,20 @@
extern void adc_eb_gb_2 ( void );
asm("\n"
-"adc_eb_gb_2:\n"
+VG_SYM(adc_eb_gb_2) ":\n"
"\tpushl %ecx\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tclc\n"
"\tadcb %dh,%cl\n"
-"\tmovb %cl, out_b1\n"
+"\tmovb %cl, " VG_SYM(out_b1) "\n"
-"\tmovb in_b, %cl\n"
-"\tmovb in_b2, %dh\n"
+"\tmovb " VG_SYM(in_b) ", %cl\n"
+"\tmovb " VG_SYM(in_b2) ", %dh\n"
"\tstc\n"
"\tadcb %dh,%cl\n"
-"\tmovb %cl, out_b2\n"
+"\tmovb %cl, " VG_SYM(out_b2) "\n"
"\tpopl %ecx\n"
"\tret\n"
Modified: branches/DARWIN/none/tests/x86/ssse3_misaligned.c
===================================================================
--- branches/DARWIN/none/tests/x86/ssse3_misaligned.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/none/tests/x86/ssse3_misaligned.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,8 +1,5 @@
-
-#if !defined(__APPLE__)
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -11,14 +8,7 @@
void maybe_fault ( int delta )
{
- // Darwin lacks memalign, but malloc is always 16-aligned anyway.
- #if defined(__APPLE__)
- char* x = malloc(32/*size*/);
- #else
- char* x = memalign(16/*alignment*/,32/*size*/);
- #endif
- assert(x);
- assert(0 == ((16-1) & (unsigned long)x));
+ char* x = memalign16(32);
memset(x, 0, 32);
__asm__ __volatile__(
"pabsb (%0),%%xmm7"
Modified: branches/DARWIN/perf/Makefile.am
===================================================================
--- branches/DARWIN/perf/Makefile.am 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/perf/Makefile.am 2009-04-15 02:38:41 UTC (rev 9533)
@@ -1,6 +1,5 @@
-# For AM_FLAG_M3264_PRI
-include $(top_srcdir)/Makefile.flags.am
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = vg_perf
@@ -18,10 +17,10 @@
check_PROGRAMS = \
bigcode bz2 fbench ffbench heap sarp tinycc
-AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/include
-AM_CFLAGS = -Winline -Wall -Wshadow -g -O $(AM_FLAG_M3264_PRI)
-AM_CXXFLAGS = $(AM_CFLAGS)
+AM_CFLAGS += -O $(AM_FLAG_M3264_PRI)
+AM_CXXFLAGS += -O $(AM_FLAG_M3264_PRI)
+
# Extra stuff
bz2_CFLAGS = $(AM_CFLAGS) -Wno-inline
Modified: branches/DARWIN/perf/bigcode.c
===================================================================
--- branches/DARWIN/perf/bigcode.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/perf/bigcode.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -10,12 +10,8 @@
#include <stdio.h>
#include <string.h>
#include <assert.h>
-#include <sys/mman.h>
+#include "tests/sys_mman.h"
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS 0
-#endif /* MAP_ANONYMOUS */
-
#define FN_SIZE 996 // Must be big enough to hold the compiled f()
#define N_LOOPS 20000 // Should be divisible by four
#define RATIO 4 // Ratio of code sizes between the two modes
Modified: branches/DARWIN/perf/bz2.c
===================================================================
--- branches/DARWIN/perf/bz2.c 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/perf/bz2.c 2009-04-15 02:38:41 UTC (rev 9533)
@@ -6412,11 +6412,7 @@
}
#include <stdio.h>
-#ifdef __APPLE__
-#include <malloc/malloc.h>
-#else
-#include <malloc.h>
-#endif
+#include "tests/malloc.h"
#include <assert.h>
/* For providing services. */
Modified: branches/DARWIN/tests/Makefile.am
===================================================================
--- branches/DARWIN/tests/Makefile.am 2009-04-14 23:44:11 UTC (rev 9532)
+++ branches/DARWIN/tests/Makefile.am 2009-04-15 02:38:41 UTC (rev 9533)
@@ -11,6 +11,11 @@
platform_test \
vg_regtest
+noinst_HEADERS = \
+ asm.h \
+ malloc.h \
+ sys_mman.h
+
EXTRA_DIST = $(noinst_SCRIPTS)
check_PROGRAMS = \
Added: branches/DARWIN/tests/asm.h
===================================================================
--- branches/DARWIN/tests/asm.h (rev 0)
+++ branches/DARWIN/tests/asm.h 2009-04-15 02:38:41 UTC (rev 9533)
@@ -0,0 +1,19 @@
+// Header to factor out platform differences in asm code.
+
+// On Darwin, all symbols get an underscore prepended when compiled. If we
+// use any such symbols in asm code, we need to add that underscore. So in
+// 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
Added: branches/DARWIN/tests/malloc.h
===================================================================
--- branches/DARWIN/tests/malloc.h (rev 0)
+++ branches/DARWIN/tests/malloc.h 2009-04-15 02:38:41 UTC (rev 9533)
@@ -0,0 +1,27 @@
+// 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 <assert.h>
+
+// Allocates a 16-aligned block. Asserts if the allocation fails.
+__attribute__((unused))
+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;
+}
+
Added: branches/DARWIN/tests/sys_mman.h
===================================================================
--- branches/DARWIN/tests/sys_mman.h (rev 0)
+++ branches/DARWIN/tests/sys_mman.h 2009-04-15 02:38:41 UTC (rev 9533)
@@ -0,0 +1,31 @@
+// Replacement for sys/mman.h which factors out platform differences.
+
+#include <sys/mman.h>
+
+#if defined(VGO_darwin)
+# define MAP_ANONYMOUS MAP_ANON
+#endif
+
+
+#include <assert.h>
+#include <unistd.h>
+
+// Map a page, then unmap it, then return that address. That
+// guarantees to give an address which will fault when accessed,
+// without making any assumptions about the layout of the address
+// space.
+
+__attribute__((unused))
+static void* get_unmapped_page(void)
+{
+ void* ptr;
+ int r;
+ long pagesz = sysconf(_SC_PAGE_SIZE);
+ assert(pagesz == 4096 || pagesz == 65536);
+ ptr = mmap(0, pagesz, PROT_READ, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+ assert(ptr != (void*)-1);
+ r = munmap(ptr, pagesz);
+ assert(r == 0);
+ return ptr;
+}
+
|
|
From: <sv...@va...> - 2009-04-14 23:44:15
|
Author: njn
Date: 2009-04-15 00:44:11 +0100 (Wed, 15 Apr 2009)
New Revision: 9532
Log:
Merge r9531 (ptrcheck suppression fix) from the trunk.
Modified:
branches/DARWIN/exp-ptrcheck.supp
Modified: branches/DARWIN/exp-ptrcheck.supp
===================================================================
--- branches/DARWIN/exp-ptrcheck.supp 2009-04-14 23:43:33 UTC (rev 9531)
+++ branches/DARWIN/exp-ptrcheck.supp 2009-04-14 23:44:11 UTC (rev 9532)
@@ -49,7 +49,7 @@
{
Occurs on Fedora 7--9?
- exp-ptrcheck:SorG
+ exp-ptrcheck:Heap
fun:_dl_fini
fun:exit
fun:(below main)
|
|
From: <sv...@va...> - 2009-04-14 23:43:36
|
Author: njn
Date: 2009-04-15 00:43:33 +0100 (Wed, 15 Apr 2009)
New Revision: 9531
Log:
Fix a Ptrcheck suppression.
Modified:
trunk/exp-ptrcheck.supp
Modified: trunk/exp-ptrcheck.supp
===================================================================
--- trunk/exp-ptrcheck.supp 2009-04-14 23:43:15 UTC (rev 9530)
+++ trunk/exp-ptrcheck.supp 2009-04-14 23:43:33 UTC (rev 9531)
@@ -49,7 +49,7 @@
{
Occurs on Fedora 7--9?
- exp-ptrcheck:SorG
+ exp-ptrcheck:Heap
fun:_dl_fini
fun:exit
fun:(below main)
|
|
From: <sv...@va...> - 2009-04-14 23:43:26
|
Author: njn
Date: 2009-04-15 00:43:15 +0100 (Wed, 15 Apr 2009)
New Revision: 9530
Log:
Merge r9529 (better memalign abort message) from the DARWIN branch.
Modified:
trunk/coregrind/m_mallocfree.c
Modified: trunk/coregrind/m_mallocfree.c
===================================================================
--- trunk/coregrind/m_mallocfree.c 2009-04-14 23:39:00 UTC (rev 9529)
+++ trunk/coregrind/m_mallocfree.c 2009-04-14 23:43:15 UTC (rev 9530)
@@ -1588,8 +1588,10 @@
if (req_alignB < VG_MIN_MALLOC_SZB
|| req_alignB > 1048576
|| VG_(log2)( req_alignB ) == -1 /* not a power of 2 */) {
- VG_(printf)("VG_(arena_memalign)(%p, %lu, %lu)\nbad alignment",
- a, req_alignB, req_pszB );
+ VG_(printf)("VG_(arena_memalign)(%p, %lu, %lu)\n"
+ "bad alignment value %lu\n"
+ "(it is too small, too big, or not a power of two)",
+ a, req_alignB, req_pszB, req_alignB );
VG_(core_panic)("VG_(arena_memalign)");
/*NOTREACHED*/
}
|
|
From: <sv...@va...> - 2009-04-14 23:39:05
|
Author: njn
Date: 2009-04-15 00:39:00 +0100 (Wed, 15 Apr 2009)
New Revision: 9529
Log:
Improve memalign() bad alignment message.
Modified:
branches/DARWIN/coregrind/m_mallocfree.c
Modified: branches/DARWIN/coregrind/m_mallocfree.c
===================================================================
--- branches/DARWIN/coregrind/m_mallocfree.c 2009-04-14 10:35:24 UTC (rev 9528)
+++ branches/DARWIN/coregrind/m_mallocfree.c 2009-04-14 23:39:00 UTC (rev 9529)
@@ -1589,8 +1589,10 @@
if (req_alignB < VG_MIN_MALLOC_SZB
|| req_alignB > 1048576
|| VG_(log2)( req_alignB ) == -1 /* not a power of 2 */) {
- VG_(printf)("VG_(arena_memalign)(%p, %lu, %lu)\nbad alignment",
- a, req_alignB, req_pszB );
+ VG_(printf)("VG_(arena_memalign)(%p, %lu, %lu)\n"
+ "bad alignment value %lu\n"
+ "(it is too small, too big, or not a power of two)",
+ a, req_alignB, req_pszB, req_alignB );
VG_(core_panic)("VG_(arena_memalign)");
/*NOTREACHED*/
}
|
|
From: Johan B. <jb...@gm...> - 2009-04-14 22:20:19
|
Hi guys, >From my understanding, Iop_I32toF64 is supposed to treat the argument as a signed integer. (X86 port seems to be using this IR for FILD) I need to deal with both signed and unsigned conversions from I32 to F64 for the ARM port. It's easy to workaround the 32bit case by first converting it to a I64 using the correct conversion. Unfortunately there are also instructions I64->F64 that can be signed or unsigned. Any ideas? I have been avoiding to add new instructions to VEX so far, and I'd avoid it if possible. -Johan |
|
From: Nicholas N. <n.n...@gm...> - 2009-04-14 17:50:29
|
Nightly build on ocean32 ( Ubuntu 8.10, Intel x86-64 (32-bit only) ) started at 2009-04-15 03:00:02 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-15 03:28:37.000000000 +1000
+++ stack_switch.stderr.out 2009-04-15 03:48:13.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-15 03:28:51.000000000 +1000
+++ origin1-yes.stderr.out 2009-04-15 03:48:30.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-15 03:28:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-15 03:48:34.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-15 03:28:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-15 03:48:34.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-15 03:28:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-04-15 03:48:34.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-15 03:30:57.000000000 +1000
+++ mremap2.stdout.out 2009-04-15 03:49:38.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-15 03:30:57.000000000 +1000
+++ mremap2.stdout.out 2009-04-15 03:49:38.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-15 03:30:57.000000000 +1000
+++ mremap2.stdout.out 2009-04-15 03:49:38.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-15 03:31:11.000000000 +1000
+++ shell.stderr.out 2009-04-15 03:49:53.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-15 03:31:11.000000000 +1000
+++ shell.stderr.out 2009-04-15 03:49:53.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-15 03:31:11.000000000 +1000
+++ shell.stdout.out 2009-04-15 03:49:52.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-15 03:31:11.000000000 +1000
+++ shell_valid1.stderr.out 2009-04-15 03:49:53.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-15 03:31:11.000000000 +1000
+++ shell_valid2.stderr.out 2009-04-15 03:49:53.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-15 03:31:11.000000000 +1000
+++ shell_valid3.stderr.out 2009-04-15 03:49:53.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: Nicholas N. <n.n...@gm...> - 2009-04-14 16:53:58
|
Nightly build on ocean ( Ubuntu 8.10, Intel x86-64 ) started at 2009-04-15 02: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 == 483 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= ./valgrind/none/tests/linux/mremap2.stdout.diff ================================================= --- mremap2.stdout.exp 2009-04-15 02:30:01.000000000 +1000 +++ mremap2.stdout.out 2009-04-15 02:53:14.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-15 02:30:01.000000000 +1000 +++ mremap2.stdout.out 2009-04-15 02:53:14.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-15 02:30:01.000000000 +1000 +++ mremap2.stdout.out 2009-04-15 02:53:14.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> |
|
From: Dan K. <da...@ke...> - 2009-04-14 14:17:38
|
On Wed, Feb 18, 2009 at 2:53 PM, Bill Hoffman <bil...@ki...> wrote: > Attached is a new version of the patch that is more robust and contains the > requested documentation. This would be very handy. I have to jump through hoops to avoid valgrinding python subprocesses at the moment, and this option would have saved me some time. |
|
From: <sv...@va...> - 2009-04-14 10:35:35
|
Author: sewardj
Date: 2009-04-14 11:35:24 +0100 (Tue, 14 Apr 2009)
New Revision: 9528
Log:
Merge from the trunk, r9469:
Check whether the symbol table is in the main object file or the debug
object file and use that information to decide which svma and bias
values to use when working out what section a symbol refers to.
readelf.c isn't built on Darwin, but never mind; the purpose of the commit
is to reduce the differences between the Darwin branch and the trunk.
Modified:
branches/DARWIN/coregrind/m_debuginfo/readelf.c
Modified: branches/DARWIN/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 10:26:04 UTC (rev 9527)
+++ branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 10:35:24 UTC (rev 9528)
@@ -206,6 +206,7 @@
ElfXX_Sym* sym, /* ELF symbol */
Char* sym_name, /* name */
Addr sym_svma, /* address as stated in the object file */
+ Bool symtab_in_debug, /* symbol table is in the debug file */
UChar* opd_img, /* oimage of .opd sec (ppc64-linux only) */
PtrdiffT opd_bias, /* for biasing AVMAs found in .opd */
/* OUTPUTS */
@@ -224,6 +225,8 @@
Bool is_in_opd;
# endif
Bool in_text, in_data, in_sdata, in_rodata, in_bss, in_sbss;
+ Addr text_svma, data_svma, sdata_svma, rodata_svma, bss_svma, sbss_svma;
+ PtrdiffT text_bias, data_bias, sdata_bias, rodata_bias, bss_bias, sbss_bias;
/* Set defaults */
*sym_name_out = sym_name;
@@ -245,67 +248,85 @@
|| ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT
);
- /* Now bias sym_avma_out accordingly */
-#if 0
- /* This works, but seems a bit crude */
- if (ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT) {
- *is_text_out = False;
- *sym_avma_out += di->data_bias;
+ /* Work out the svma and bias for each section as it will appear in
+ addresses in the symbol table. */
+ if (symtab_in_debug) {
+ text_svma = di->text_debug_svma;
+ text_bias = di->text_debug_bias;
+ data_svma = di->data_debug_svma;
+ data_bias = di->data_debug_bias;
+ sdata_svma = di->sdata_debug_svma;
+ sdata_bias = di->sdata_debug_bias;
+ rodata_svma = di->rodata_debug_svma;
+ rodata_bias = di->rodata_debug_bias;
+ bss_svma = di->bss_debug_svma;
+ bss_bias = di->bss_debug_bias;
+ sbss_svma = di->sbss_debug_svma;
+ sbss_bias = di->sbss_debug_bias;
} else {
- *is_text_out = True;
- *sym_avma_out += di->text_bias;
+ text_svma = di->text_svma;
+ text_bias = di->text_bias;
+ data_svma = di->data_svma;
+ data_bias = di->data_bias;
+ sdata_svma = di->sdata_svma;
+ sdata_bias = di->sdata_bias;
+ rodata_svma = di->rodata_svma;
+ rodata_bias = di->rodata_bias;
+ bss_svma = di->bss_svma;
+ bss_bias = di->bss_bias;
+ sbss_svma = di->sbss_svma;
+ sbss_bias = di->sbss_bias;
}
-#else
- /* Try to figure out exactly which section the symbol is from and
- bias accordingly. Screws up if the previously deduced section
- svma address ranges are wrong. */
+
+ /* Now bias sym_avma_out accordingly by figuring out exactly which
+ section the symbol is from and bias accordingly. Screws up if
+ the previously deduced section svma address ranges are wrong. */
if (di->text_present
&& di->text_size > 0
- && sym_svma >= di->text_svma
- && sym_svma < di->text_svma + di->text_size) {
+ && sym_svma >= text_svma
+ && sym_svma < text_svma + di->text_size) {
*is_text_out = True;
- *sym_avma_out += di->text_bias;
+ *sym_avma_out += text_bias;
} else
if (di->data_present
&& di->data_size > 0
- && sym_svma >= di->data_svma
- && sym_svma < di->data_svma + di->data_size) {
+ && sym_svma >= data_svma
+ && sym_svma < data_svma + di->data_size) {
*is_text_out = False;
- *sym_avma_out += di->data_bias;
+ *sym_avma_out += data_bias;
} else
if (di->sdata_present
&& di->sdata_size > 0
- && sym_svma >= di->sdata_svma
- && sym_svma < di->sdata_svma + di->sdata_size) {
+ && sym_svma >= sdata_svma
+ && sym_svma < sdata_svma + di->sdata_size) {
*is_text_out = False;
- *sym_avma_out += di->sdata_bias;
+ *sym_avma_out += sdata_bias;
} else
if (di->rodata_present
&& di->rodata_size > 0
- && sym_svma >= di->rodata_svma
- && sym_svma < di->rodata_svma + di->rodata_size) {
+ && sym_svma >= rodata_svma
+ && sym_svma < rodata_svma + di->rodata_size) {
*is_text_out = False;
- *sym_avma_out += di->rodata_bias;
+ *sym_avma_out += rodata_bias;
} else
if (di->bss_present
&& di->bss_size > 0
- && sym_svma >= di->bss_svma
- && sym_svma < di->bss_svma + di->bss_size) {
+ && sym_svma >= bss_svma
+ && sym_svma < bss_svma + di->bss_size) {
*is_text_out = False;
- *sym_avma_out += di->bss_bias;
+ *sym_avma_out += bss_bias;
} else
if (di->sbss_present
&& di->sbss_size > 0
- && sym_svma >= di->sbss_svma
- && sym_svma < di->sbss_svma + di->sbss_size) {
+ && sym_svma >= sbss_svma
+ && sym_svma < sbss_svma + di->sbss_size) {
*is_text_out = False;
- *sym_avma_out += di->sbss_bias;
+ *sym_avma_out += sbss_bias;
} else {
/* Assume it's in .text. Is this a good idea? */
*is_text_out = True;
- *sym_avma_out += di->text_bias;
+ *sym_avma_out += text_bias;
}
-#endif
# if defined(VGP_ppc64_linux)
/* Allow STT_NOTYPE in the very special case where we're running on
@@ -522,7 +543,7 @@
# if defined(VGP_ppc64_linux)
/* It's crucial that we never add symbol addresses in the .opd
section. This would completely mess up function redirection and
- intercepting. This assert ensures that any symbols that make it
+ intercepting. This assert ensures that anysymbols that make it
into the symbol table on ppc64-linux don't point into .opd. */
if (di->opd_present && di->opd_size > 0) {
vg_assert(*sym_avma_out + *sym_size_out <= di->opd_avma
@@ -543,6 +564,7 @@
struct _DebugInfo* di, UChar* tab_name,
ElfXX_Sym* symtab_img, SizeT symtab_szB,
UChar* strtab_img, SizeT strtab_szB,
+ Bool symtab_in_debug,
UChar* opd_img /* ppc64-linux only */
)
{
@@ -577,6 +599,7 @@
show_raw_elf_symbol(i, sym, sym_name, sym_svma, False);
if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
+ symtab_in_debug,
opd_img, di->text_bias,
&sym_name_really,
&sym_avma_really,
@@ -641,6 +664,7 @@
struct _DebugInfo* di, UChar* tab_name,
ElfXX_Sym* symtab_img, SizeT symtab_szB,
UChar* strtab_img, SizeT strtab_szB,
+ Bool symtab_in_debug,
UChar* opd_img /* ppc64-linux only */
)
{
@@ -686,6 +710,7 @@
show_raw_elf_symbol(i, sym, sym_name, sym_svma, True);
if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
+ symtab_in_debug,
opd_img, di->text_bias,
&sym_name_really,
&sym_avma_really,
@@ -1934,21 +1959,24 @@
void (*read_elf_symtab)(struct _DebugInfo*,UChar*,
ElfXX_Sym*,SizeT,
UChar*,SizeT,
- UChar*);
+ Bool,UChar*);
+ Bool symtab_in_debug;
# if defined(VGP_ppc64_linux)
read_elf_symtab = read_elf_symtab__ppc64_linux;
# else
read_elf_symtab = read_elf_symtab__normal;
# endif
+ symtab_in_debug = (Addr)symtab_img >= dimage
+ && (Addr)symtab_img < dimage + n_dimage;
read_elf_symtab(di, "symbol table",
symtab_img, symtab_sz,
strtab_img, strtab_sz,
- opd_img);
+ symtab_in_debug, opd_img);
read_elf_symtab(di, "dynamic symbol table",
dynsym_img, dynsym_sz,
dynstr_img, dynstr_sz,
- opd_img);
+ False, opd_img);
}
/* Read .eh_frame (call-frame-info) if any */
|
|
From: <sv...@va...> - 2009-04-14 10:26:18
|
Author: sewardj
Date: 2009-04-14 11:26:04 +0100 (Tue, 14 Apr 2009)
New Revision: 9527
Log:
Merge from the trunk, r9329:
Keep track of the svma and bias values for the debug data separately
as they may be different to those for other sections of the ELF file
if we have separated debug information and the main file has been
prelinked since they were split. Fixes bug #185816.
plus a small fix in readmacho.c to keep Mach-O reading working properly.
Modified:
branches/DARWIN/coregrind/m_debuginfo/d3basics.c
branches/DARWIN/coregrind/m_debuginfo/priv_storage.h
branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
branches/DARWIN/coregrind/m_debuginfo/readelf.c
branches/DARWIN/coregrind/m_debuginfo/readmacho.c
branches/DARWIN/coregrind/m_debuginfo/readstabs.c
Modified: branches/DARWIN/coregrind/m_debuginfo/d3basics.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -406,33 +406,33 @@
{
if (di->text_present
&& di->text_size > 0
- && *a >= di->text_svma && *a < di->text_svma + di->text_size) {
- *a += di->text_bias;
+ && *a >= di->text_debug_svma && *a < di->text_debug_svma + di->text_size) {
+ *a += di->text_debug_bias;
}
else if (di->data_present
&& di->data_size > 0
- && *a >= di->data_svma && *a < di->data_svma + di->data_size) {
- *a += di->data_bias;
+ && *a >= di->data_debug_svma && *a < di->data_debug_svma + di->data_size) {
+ *a += di->data_debug_bias;
}
else if (di->sdata_present
&& di->sdata_size > 0
- && *a >= di->sdata_svma && *a < di->sdata_svma + di->sdata_size) {
- *a += di->sdata_bias;
+ && *a >= di->sdata_debug_svma && *a < di->sdata_debug_svma + di->sdata_size) {
+ *a += di->sdata_debug_bias;
}
else if (di->rodata_present
&& di->rodata_size > 0
- && *a >= di->rodata_svma && *a < di->rodata_svma + di->rodata_size) {
- *a += di->rodata_bias;
+ && *a >= di->rodata_debug_svma && *a < di->rodata_debug_svma + di->rodata_size) {
+ *a += di->rodata_debug_bias;
}
else if (di->bss_present
&& di->bss_size > 0
- && *a >= di->bss_svma && *a < di->bss_svma + di->bss_size) {
- *a += di->bss_bias;
+ && *a >= di->bss_debug_svma && *a < di->bss_debug_svma + di->bss_size) {
+ *a += di->bss_debug_bias;
}
else if (di->sbss_present
&& di->sbss_size > 0
- && *a >= di->sbss_svma && *a < di->sbss_svma + di->sbss_size) {
- *a += di->sbss_bias;
+ && *a >= di->sbss_debug_svma && *a < di->sbss_debug_svma + di->sbss_size) {
+ *a += di->sbss_debug_bias;
}
else {
return False;
@@ -541,14 +541,8 @@
switch (opcode) {
case DW_OP_addr:
/* Presumably what is given in the Dwarf3 is a SVMA (how
- could it be otherwise?) So we add the data bias on
- before pushing the result. FIXME: how can we be sure
- the data bias is intended, not the text bias? I don't
- know. */
- /* Furthermore, do we need to take into account the
- horrible prelinking-induced complications as described
- in "Comment_Regarding_DWARF3_Text_Biasing" in
- readdwarf3.c? Currently I don't know. */
+ could it be otherwise?) So we add the appropriate bias
+ on before pushing the result. */
a1 = *(Addr*)expr;
if (bias_address(&a1, di)) {
PUSH( a1 );
Modified: branches/DARWIN/coregrind/m_debuginfo/priv_storage.h
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/priv_storage.h 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/priv_storage.h 2009-04-14 10:26:04 UTC (rev 9527)
@@ -354,36 +354,48 @@
Addr text_svma;
SizeT text_size;
PtrdiffT text_bias;
+ Addr text_debug_svma;
+ PtrdiffT text_debug_bias;
/* .data */
Bool data_present;
Addr data_svma;
Addr data_avma;
SizeT data_size;
PtrdiffT data_bias;
+ Addr data_debug_svma;
+ PtrdiffT data_debug_bias;
/* .sdata */
Bool sdata_present;
Addr sdata_svma;
Addr sdata_avma;
SizeT sdata_size;
PtrdiffT sdata_bias;
+ Addr sdata_debug_svma;
+ PtrdiffT sdata_debug_bias;
/* .rodata */
Bool rodata_present;
Addr rodata_svma;
Addr rodata_avma;
SizeT rodata_size;
PtrdiffT rodata_bias;
+ Addr rodata_debug_svma;
+ PtrdiffT rodata_debug_bias;
/* .bss */
Bool bss_present;
Addr bss_svma;
Addr bss_avma;
SizeT bss_size;
PtrdiffT bss_bias;
+ Addr bss_debug_svma;
+ PtrdiffT bss_debug_bias;
/* .sbss */
Bool sbss_present;
Addr sbss_svma;
Addr sbss_avma;
SizeT sbss_size;
PtrdiffT sbss_bias;
+ Addr sbss_debug_svma;
+ PtrdiffT sbss_debug_bias;
/* .plt */
Bool plt_present;
Addr plt_avma;
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -362,7 +362,7 @@
switch (op_code) {
case DW_LNE_end_sequence:
if (0) VG_(printf)("1001: si->o %#lx, smr.a %#lx\n",
- di->text_bias, state_machine_regs.address );
+ di->text_debug_bias, state_machine_regs.address );
/* JRS: added for compliance with spec; is pointless due to
reset_state_machine below */
state_machine_regs.end_sequence = 1;
@@ -380,8 +380,8 @@
filename,
lookupDir( state_machine_regs.last_file,
fnidx2dir, dirnames ),
- di->text_bias + state_machine_regs.last_address,
- di->text_bias + state_machine_regs.address,
+ di->text_debug_bias + state_machine_regs.last_address,
+ di->text_debug_bias + state_machine_regs.address,
state_machine_regs.last_line, 0
);
}
@@ -724,7 +724,7 @@
if (0) VG_(printf)("smr.a += %#x\n", adv );
adv = (op_code % info.li_line_range) + info.li_line_base;
if (0) VG_(printf)("1002: di->o %#lx, smr.a %#lx\n",
- di->text_bias, state_machine_regs.address );
+ di->text_debug_bias, state_machine_regs.address );
state_machine_regs.line += adv;
if (di->ddump_line)
@@ -747,8 +747,8 @@
filename,
lookupDir( state_machine_regs.last_file,
&fnidx2dir, &dirnames ),
- di->text_bias + state_machine_regs.last_address,
- di->text_bias + state_machine_regs.address,
+ di->text_debug_bias + state_machine_regs.last_address,
+ di->text_debug_bias + state_machine_regs.address,
state_machine_regs.last_line,
0
);
@@ -771,7 +771,7 @@
case DW_LNS_copy:
if (0) VG_(printf)("1002: di->o %#lx, smr.a %#lx\n",
- di->text_bias, state_machine_regs.address );
+ di->text_debug_bias, state_machine_regs.address );
if (state_machine_regs.is_stmt) {
/* only add a statement if there was a previous boundary */
if (state_machine_regs.last_address) {
@@ -786,8 +786,8 @@
filename,
lookupDir( state_machine_regs.last_file,
&fnidx2dir, &dirnames ),
- di->text_bias + state_machine_regs.last_address,
- di->text_bias + state_machine_regs.address,
+ di->text_debug_bias + state_machine_regs.last_address,
+ di->text_debug_bias + state_machine_regs.address,
state_machine_regs.last_line,
0
);
@@ -3629,7 +3629,7 @@
adi.encoding = the_CIEs[this_CIE].address_encoding;
adi.ehframe_image = ehframe_image;
adi.ehframe_avma = di->ehframe_avma;
- adi.text_bias = di->text_bias;
+ adi.text_bias = di->text_debug_bias;
show_CF_instructions( the_CIEs[this_CIE].instrs,
the_CIEs[this_CIE].ilen, &adi,
the_CIEs[this_CIE].code_a_f,
@@ -3676,7 +3676,7 @@
adi.encoding = the_CIEs[cie].address_encoding;
adi.ehframe_image = ehframe_image;
adi.ehframe_avma = di->ehframe_avma;
- adi.text_bias = di->text_bias;
+ adi.text_bias = di->text_debug_bias;
fde_initloc = read_encoded_Addr(&nbytes, &adi, data);
data += nbytes;
if (di->trace_cfi)
@@ -3685,7 +3685,7 @@
adi.encoding = the_CIEs[cie].address_encoding & 0xf;
adi.ehframe_image = ehframe_image;
adi.ehframe_avma = di->ehframe_avma;
- adi.text_bias = di->text_bias;
+ adi.text_bias = di->text_debug_bias;
/* WAS (incorrectly):
fde_arange = read_encoded_Addr(&nbytes, &adi, data);
@@ -3714,8 +3714,8 @@
(Addr)ciefde_len,
(Addr)(UWord)cie_pointer,
(Addr)look_for,
- ((Addr)fde_initloc) - di->text_bias,
- ((Addr)fde_initloc) - di->text_bias + fde_arange);
+ ((Addr)fde_initloc) - di->text_debug_bias,
+ ((Addr)fde_initloc) - di->text_debug_bias + fde_arange);
if (the_CIEs[cie].saw_z_augmentation) {
UInt length = read_leb128( data, &nbytes, 0);
@@ -3747,7 +3747,7 @@
adi.encoding = the_CIEs[cie].address_encoding;
adi.ehframe_image = ehframe_image;
adi.ehframe_avma = di->ehframe_avma;
- adi.text_bias = di->text_bias;
+ adi.text_bias = di->text_debug_bias;
if (di->trace_cfi)
show_CF_instructions( fde_instrs, fde_ilen, &adi,
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -466,97 +466,8 @@
it more logically belongs. */
-/* "Comment_Regarding_DWARF3_Text_Biasing" (is referred to elsewhere)
- -----------------------------------------------------------------
- apply_kludgey_text_bias() is our mechanism for biasing text
- addresses found in DWARF3 .debug_info, .debug_ranges, .debug_loc
- sections. This is a nasty and unprincipled hack.
-
- Biasing the text svmas, so as to obtain text avmas, should be
- straightforward, right? We just add on di->text_bias, as
- carefully computed by readelf.c.
-
- That works OK most of the time. But in the following case it fails:
- 1. The object is made in the usual way (gcc -g, etc)
- 2. The DWARF3 stuff removed from it and parked in a .debuginfo object
- 3. The remaining (base) object is then prelinked.
-
- Prelinking changes the text svmas throughout an object by some
- constant amount, including the DWARF3 stuff. So if the DWARF3
- stuff remains attached to the original object, then there is no
- problem. However, if the DWARF3 stuff is detached, and the
- remaining object is prelinked and the debuginfo object isn't, then
- we have a problem: the text bias computed for the main object
- isn't correct for the debuginfo object.
-
- So the following kludged is used to bias text svmas.
-
- 1. First, try with the text bias computed for the main object. If
- that gives an avma inside the area in which the text segment is
- known to have been mapped, then all well and good.
-
- 2. If not, try using the avma of the text mapped area as a bias.
- Again, if that works out, fine. This is the heart of the
- kludge. It implicitly treats the svma-s to be biased as if
- they had been prelinked to zero.
-
- 3. If even that doesn't work, just return the avma unchanged.
-
- For each object/object-pair, we count the number of times each
- case occurs. We flag an error (which the user gets to see) if (3)
- ever occurs, or if a mixture of (1) and (2) occurs. That should
- at least catch the most obvious snafus.
-
- Caveats: the main remaining worry is whether this problem somehow
- also affects the data-biasing done for case DW_OP_addr in
- ML_(evaluate_Dwarf3_Expr) in d3basics.c. This is currently
- unknown.
-
- Possible sources of info: canonical description seems to be:
-
- http://people.redhat.com/jakub/prelink.pdf
-
- See para at line 337 starting "DWARF 2 debugging information ..."
-
- This thread looks like the gdb people hitting the same issue:
-
- http://sourceware.org/ml/gdb-patches/2007-01/msg00278.html
-*/
-typedef
- struct {
- /* FIXED */
- Addr rx_map_avma;
- SizeT rx_map_size;
- PtrdiffT text_bias;
- /* VARIABLE -- count stats */
- UWord n_straightforward_biasings;
- UWord n_kludgey_biasings;
- UWord n_failed_biasings;
- }
- KludgeyTextBiaser;
-
-static Addr apply_kludgey_text_bias ( KludgeyTextBiaser* ktb,
- Addr allegedly_text_svma ) {
- Addr res;
- res = allegedly_text_svma + ktb->text_bias;
- if (res >= ktb->rx_map_avma
- && res < ktb->rx_map_avma + ktb->rx_map_size) {
- ktb->n_straightforward_biasings++;
- return res;
- }
- res = allegedly_text_svma + ktb->rx_map_avma;
- if (res >= ktb->rx_map_avma
- && res < ktb->rx_map_avma + ktb->rx_map_size) {
- ktb->n_kludgey_biasings++;
- return res;
- }
- ktb->n_failed_biasings++;
- return allegedly_text_svma; /* this svma is a luzer */
-}
-
-
-/* Apply a text bias to a GX. Kludgily :-( */
-static void bias_GX ( /*MOD*/GExpr* gx, KludgeyTextBiaser* ktb )
+/* Apply a text bias to a GX. */
+static void bias_GX ( /*MOD*/GExpr* gx, struct _DebugInfo* di )
{
UShort nbytes;
Addr* pA;
@@ -574,11 +485,11 @@
vg_assert(uc == 0);
/* t-bias aMin */
pA = (Addr*)p;
- *pA = apply_kludgey_text_bias( ktb, *pA );
+ *pA += di->text_debug_bias;
p += sizeof(Addr);
/* t-bias aMax */
pA = (Addr*)p;
- *pA = apply_kludgey_text_bias( ktb, *pA );
+ *pA += di->text_debug_bias;
p += sizeof(Addr);
/* nbytes, and actual expression */
nbytes = * (UShort*)p; p += sizeof(UShort);
@@ -3153,8 +3064,6 @@
Word i, j, n;
Bool td3 = di->trace_symtab;
XArray* /* of TempVar* */ dioff_lookup_tab;
- Bool text_biasing_borked;
- KludgeyTextBiaser ktb;
#if 0
/* This doesn't work properly because it assumes all entries are
packed end to end, with no holes. But that doesn't always
@@ -3529,19 +3438,14 @@
vg_assert(!di->admin_tyents);
di->admin_tyents = tyents_to_keep;
- /* Bias all the location expressions. See
- "Comment_Regarding_DWARF3_Text_Biasing" above. */
+ /* Bias all the location expressions. */
TRACE_D3("\n");
TRACE_D3("------ Biasing the location expressions ------\n" );
- VG_(memset)( &ktb, 0, sizeof(ktb ));
- ktb.rx_map_avma = di->rx_map_avma;
- ktb.rx_map_size = di->rx_map_size;
- ktb.text_bias = di->text_bias;
n = VG_(sizeXA)( gexprs );
for (i = 0; i < n; i++) {
gexpr = *(GExpr**)VG_(indexXA)( gexprs, i );
- bias_GX( gexpr, &ktb );
+ bias_GX( gexpr, di );
}
TRACE_D3("\n");
@@ -3731,8 +3635,8 @@
/* Apply text biasing, for non-global variables. */
if (varp->level > 0) {
- pcMin = apply_kludgey_text_bias( &ktb, pcMin );
- pcMax = apply_kludgey_text_bias( &ktb, pcMax );
+ pcMin += di->text_debug_bias;
+ pcMax += di->text_debug_bias;
}
if (i > 0 && (i%2) == 0)
@@ -3753,27 +3657,6 @@
/* and move on to the next var */
}
- /* For the text biasing to work out, we expect that:
- - there were no failures, and
- - either all were done straightforwardly, or all kludgily,
- but not with a mixture
- */
- text_biasing_borked
- = ktb.n_failed_biasings > 0
- || (ktb.n_straightforward_biasings > 0 && ktb.n_kludgey_biasings > 0);
-
- if (td3 || text_biasing_borked) {
- VG_(printf)("TEXT SVMA BIASING STATISTICS:\n");
- VG_(printf)(" straightforward biasings: %lu\n",
- ktb.n_straightforward_biasings );
- VG_(printf)(" kludgey biasings: %lu\n",
- ktb.n_kludgey_biasings );
- VG_(printf)(" failed biasings: %lu\n\n",
- ktb.n_failed_biasings );
- }
- if (text_biasing_borked)
- barf("couldn't make sense of DWARF3 text-svma biasing; details above");
-
/* Now free all the TempVars */
n = VG_(sizeXA)( tempvars );
for (i = 0; i < n; i++) {
Modified: branches/DARWIN/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -1355,6 +1355,8 @@
di->text_avma = svma + rx_bias;
di->text_size = size;
di->text_bias = rx_bias;
+ di->text_debug_svma = svma;
+ di->text_debug_bias = rx_bias;
TRACE_SYMTAB("acquiring .text svma = %#lx .. %#lx\n",
di->text_svma,
di->text_svma + di->text_size - 1);
@@ -1375,6 +1377,8 @@
di->data_avma = svma + rw_bias;
di->data_size = size;
di->data_bias = rw_bias;
+ di->data_debug_svma = svma;
+ di->data_debug_bias = rw_bias;
TRACE_SYMTAB("acquiring .data svma = %#lx .. %#lx\n",
di->data_svma,
di->data_svma + di->data_size - 1);
@@ -1395,6 +1399,8 @@
di->sdata_avma = svma + rw_bias;
di->sdata_size = size;
di->sdata_bias = rw_bias;
+ di->sdata_debug_svma = svma;
+ di->sdata_debug_bias = rw_bias;
TRACE_SYMTAB("acquiring .sdata svma = %#lx .. %#lx\n",
di->sdata_svma,
di->sdata_svma + di->sdata_size - 1);
@@ -1415,6 +1421,8 @@
di->rodata_avma = svma + rx_bias;
di->rodata_size = size;
di->rodata_bias = rx_bias;
+ di->rodata_debug_svma = svma;
+ di->rodata_debug_bias = rw_bias;
TRACE_SYMTAB("acquiring .rodata svma = %#lx .. %#lx\n",
di->rodata_svma,
di->rodata_svma + di->rodata_size - 1);
@@ -1435,6 +1443,8 @@
di->bss_avma = svma + rw_bias;
di->bss_size = size;
di->bss_bias = rw_bias;
+ di->bss_debug_svma = svma;
+ di->bss_debug_bias = rw_bias;
TRACE_SYMTAB("acquiring .bss svma = %#lx .. %#lx\n",
di->bss_svma,
di->bss_svma + di->bss_size - 1);
@@ -1454,6 +1464,8 @@
di->bss_avma = 0;
di->bss_size = 0;
di->bss_bias = 0;
+ di->bss_debug_svma = 0;
+ di->bss_debug_bias = 0;
if (!VG_(clo_xml)) {
VG_(message)(Vg_UserMsg, "Warning: the following file's .bss is "
"mapped r-x only - ignoring .bss syms");
@@ -1483,6 +1495,8 @@
di->sbss_avma = svma + rw_bias;
di->sbss_size = size;
di->sbss_bias = rw_bias;
+ di->sbss_debug_svma = svma;
+ di->sbss_debug_bias = rw_bias;
TRACE_SYMTAB("acquiring .sbss svma = %#lx .. %#lx\n",
di->sbss_svma,
di->sbss_svma + di->sbss_size - 1);
@@ -1751,6 +1765,14 @@
UWord shdr_dent_szB = ehdr_dimg->e_shentsize;
UChar* shdr_strtab_dimg = NULL;
+ /* SVMAs covered by rx and rw segments and corresponding bias. */
+ Addr rx_dsvma_base = 0;
+ Addr rx_dsvma_limit = 0;
+ PtrdiffT rx_dbias = 0;
+ Addr rw_dsvma_base = 0;
+ Addr rw_dsvma_limit = 0;
+ PtrdiffT rw_dbias = 0;
+
Bool need_symtab, need_stabs, need_dwarf2, need_dwarf1;
if (phdr_dnent == 0
@@ -1800,22 +1822,63 @@
= INDEX_BIS( (void*)(dimage + ehdr_dimg->e_phoff),
i, phdr_ent_szB );
if (phdr->p_type == PT_LOAD) {
- //offset_dimage = di->text_avma - phdr->p_vaddr;
- // FIXME: update di->text_bias at this point?
- // or can we assume the SVMAs in the debuginfo
- // file (hence, the biases) are the same as
- // established from the main file?
- break;
+ if (rx_dsvma_limit == 0
+ && phdr->p_offset >= di->rx_map_foff
+ && phdr->p_offset < di->rx_map_foff + di->rx_map_size
+ && phdr->p_offset + phdr->p_filesz <= di->rx_map_foff + di->rx_map_size) {
+ rx_dsvma_base = phdr->p_vaddr;
+ rx_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
+ rx_dbias = di->rx_map_avma - di->rx_map_foff + phdr->p_offset - phdr->p_vaddr;
+ }
+ else if (rw_dsvma_limit == 0
+ && phdr->p_offset >= di->rw_map_foff
+ && phdr->p_offset < di->rw_map_foff + di->rw_map_size
+ && phdr->p_offset + phdr->p_filesz <= di->rw_map_foff + di->rw_map_size) {
+ rw_dsvma_base = phdr->p_vaddr;
+ rw_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
+ rw_dbias = di->rw_map_avma - di->rw_map_foff + phdr->p_offset - phdr->p_vaddr;
+ }
}
}
- /* Same deal as previous FIND, except only do it for those
- sections for which we didn't find anything useful in
- the main file. */
-
/* Find all interesting sections */
for (i = 0; i < ehdr_dimg->e_shnum; i++) {
+ /* Find debug svma and bias information for sections
+ we found in the main file. */
+
+# define FIND(sec, seg) \
+ do { ElfXX_Shdr* shdr \
+ = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
+ if (di->sec##_present \
+ && 0 == VG_(strcmp)("." #sec, \
+ shdr_strtab_dimg + shdr->sh_name)) { \
+ vg_assert(di->sec##_size == shdr->sh_size); \
+ vg_assert(di->sec##_avma + shdr->sh_addr + seg##_dbias); \
+ di->sec##_debug_svma = shdr->sh_addr; \
+ di->sec##_debug_bias = seg##_dbias; \
+ TRACE_SYMTAB("acquiring ." #sec " debug svma = %#lx .. %#lx\n", \
+ di->sec##_debug_svma, \
+ di->sec##_debug_svma + di->sec##_size - 1); \
+ TRACE_SYMTAB("acquiring ." #sec " debug bias = %#lx\n", \
+ di->sec##_debug_bias); \
+ } \
+ } while (0);
+
+ /* SECTION SEGMENT */
+ FIND(text, rx)
+ FIND(data, rw)
+ FIND(sdata, rw)
+ FIND(rodata, rw)
+ FIND(bss, rw)
+ FIND(sbss, rw)
+
+# undef FIND
+
+ /* Same deal as previous FIND, except only do it for those
+ sections for which we didn't find anything useful in
+ the main file. */
+
# define FIND(condition, sec_name, sec_size, sec_img) \
do { ElfXX_Shdr* shdr \
= INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
Modified: branches/DARWIN/coregrind/m_debuginfo/readmacho.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readmacho.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/readmacho.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -581,6 +581,13 @@
di->text_avma = di->rx_map_avma;
di->text_size = seg->vmsize;
di->text_bias = di->text_avma - (Addr)seg->vmaddr;
+ /* Make the _debug_ values be the same as the
+ svma/bias for the primary object, since there is
+ no secondary (debuginfo) object, but nevertheless
+ downstream biasing of Dwarf3 relies on the
+ _debug_ values. */
+ di->text_debug_svma = di->text_svma;
+ di->text_debug_bias = di->text_bias;
}
}
else if (cmd->cmd == LC_UUID) {
Modified: branches/DARWIN/coregrind/m_debuginfo/readstabs.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readstabs.c 2009-04-14 02:23:20 UTC (rev 9526)
+++ branches/DARWIN/coregrind/m_debuginfo/readstabs.c 2009-04-14 10:26:04 UTC (rev 9527)
@@ -347,7 +347,7 @@
line.first = True;
/* line ends at start of next function */
- addr = di->text_bias + st->n_value;
+ addr = di->text_debug_bias + st->n_value;
func.start = addr;
}
|
|
From: Bart V. A. <bar...@gm...> - 2009-04-14 09:11:18
|
On Tue, Apr 14, 2009 at 12:14 AM, Nicholas Nethercote <n.n...@gm...> wrote: > On Mon, Apr 13, 2009 at 10:06 PM, Konstantin Serebryany > >> Add http://software.intel.com/en-us/intel-parallel-studio-home/ to this list. >> A PIN-based hybrid of Memcheck and Helgrind, works on windows. Beta is free. > > On the Memcheck side, it looks like it's just a leak detector. When starting Intel's Parallel Inspector, one must choose between memory checking and thread checking. For memory checking, there is a choice between four different levels: * memory leak detection only. * memory access checking with call stack depth limit 1. * memory access checking with call stack depth limit 12. * enable all checks supported by the tool. My experience with beta 2 of Intel's Parallel Inspector is that it is considerably slower than Purify or BoundsChecker, and that it reports too much false positive reads of uninitialized variables (about hundred for a program where Purify reported zero occurrences). This tool e.g. already complains when copying a struct that contains uninitialized padding bytes. Bart. |
|
From: Konstantin S. <kon...@gm...> - 2009-04-14 04:33:05
|
On Tue, Apr 14, 2009 at 2:14 AM, Nicholas Nethercote <n.n...@gm...> wrote: > On Mon, Apr 13, 2009 at 10:06 PM, Konstantin Serebryany > >> Add http://software.intel.com/en-us/intel-parallel-studio-home/ to this list. >> A PIN-based hybrid of Memcheck and Helgrind, works on windows. Beta is free. > > On the Memcheck side, it looks like it's just a leak detector. Not only. We tried it on windows. It detects uninitialized accesses as well. Probably, the rest too. --kcc > > Nick > |
|
From: Tom H. <th...@cy...> - 2009-04-14 03:03:30
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-04-14 03:05:07 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 == 478 tests, 4 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) |
|
From: Tom H. <th...@cy...> - 2009-04-14 02:47:51
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-04-14 03:10:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 484 tests, 4 stderr failures, 1 stdout failure, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-04-14 02:23:46
|
Author: njn
Date: 2009-04-14 03:23:20 +0100 (Tue, 14 Apr 2009)
New Revision: 9526
Log:
Unmerge r9469 because it breaks compilation on Linux because relies on
r9329, which hasn't been merged from the trunk because it breaks lots of
tests on Darwin.
Modified:
branches/DARWIN/coregrind/m_debuginfo/readelf.c
Modified: branches/DARWIN/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 01:44:10 UTC (rev 9525)
+++ branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-04-14 02:23:20 UTC (rev 9526)
@@ -206,7 +206,6 @@
ElfXX_Sym* sym, /* ELF symbol */
Char* sym_name, /* name */
Addr sym_svma, /* address as stated in the object file */
- Bool symtab_in_debug, /* symbol table is in the debug file */
UChar* opd_img, /* oimage of .opd sec (ppc64-linux only) */
PtrdiffT opd_bias, /* for biasing AVMAs found in .opd */
/* OUTPUTS */
@@ -225,8 +224,6 @@
Bool is_in_opd;
# endif
Bool in_text, in_data, in_sdata, in_rodata, in_bss, in_sbss;
- Addr text_svma, data_svma, sdata_svma, rodata_svma, bss_svma, sbss_svma;
- PtrdiffT text_bias, data_bias, sdata_bias, rodata_bias, bss_bias, sbss_bias;
/* Set defaults */
*sym_name_out = sym_name;
@@ -248,85 +245,67 @@
|| ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT
);
- /* Work out the svma and bias for each section as it will appear in
- addresses in the symbol table. */
- if (symtab_in_debug) {
- text_svma = di->text_debug_svma;
- text_bias = di->text_debug_bias;
- data_svma = di->data_debug_svma;
- data_bias = di->data_debug_bias;
- sdata_svma = di->sdata_debug_svma;
- sdata_bias = di->sdata_debug_bias;
- rodata_svma = di->rodata_debug_svma;
- rodata_bias = di->rodata_debug_bias;
- bss_svma = di->bss_debug_svma;
- bss_bias = di->bss_debug_bias;
- sbss_svma = di->sbss_debug_svma;
- sbss_bias = di->sbss_debug_bias;
+ /* Now bias sym_avma_out accordingly */
+#if 0
+ /* This works, but seems a bit crude */
+ if (ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT) {
+ *is_text_out = False;
+ *sym_avma_out += di->data_bias;
} else {
- text_svma = di->text_svma;
- text_bias = di->text_bias;
- data_svma = di->data_svma;
- data_bias = di->data_bias;
- sdata_svma = di->sdata_svma;
- sdata_bias = di->sdata_bias;
- rodata_svma = di->rodata_svma;
- rodata_bias = di->rodata_bias;
- bss_svma = di->bss_svma;
- bss_bias = di->bss_bias;
- sbss_svma = di->sbss_svma;
- sbss_bias = di->sbss_bias;
+ *is_text_out = True;
+ *sym_avma_out += di->text_bias;
}
-
- /* Now bias sym_avma_out accordingly by figuring out exactly which
- section the symbol is from and bias accordingly. Screws up if
- the previously deduced section svma address ranges are wrong. */
+#else
+ /* Try to figure out exactly which section the symbol is from and
+ bias accordingly. Screws up if the previously deduced section
+ svma address ranges are wrong. */
if (di->text_present
&& di->text_size > 0
- && sym_svma >= text_svma
- && sym_svma < text_svma + di->text_size) {
+ && sym_svma >= di->text_svma
+ && sym_svma < di->text_svma + di->text_size) {
*is_text_out = True;
- *sym_avma_out += text_bias;
+ *sym_avma_out += di->text_bias;
} else
if (di->data_present
&& di->data_size > 0
- && sym_svma >= data_svma
- && sym_svma < data_svma + di->data_size) {
+ && sym_svma >= di->data_svma
+ && sym_svma < di->data_svma + di->data_size) {
*is_text_out = False;
- *sym_avma_out += data_bias;
+ *sym_avma_out += di->data_bias;
} else
if (di->sdata_present
&& di->sdata_size > 0
- && sym_svma >= sdata_svma
- && sym_svma < sdata_svma + di->sdata_size) {
+ && sym_svma >= di->sdata_svma
+ && sym_svma < di->sdata_svma + di->sdata_size) {
*is_text_out = False;
- *sym_avma_out += sdata_bias;
+ *sym_avma_out += di->sdata_bias;
} else
if (di->rodata_present
&& di->rodata_size > 0
- && sym_svma >= rodata_svma
- && sym_svma < rodata_svma + di->rodata_size) {
+ && sym_svma >= di->rodata_svma
+ && sym_svma < di->rodata_svma + di->rodata_size) {
*is_text_out = False;
- *sym_avma_out += rodata_bias;
+ *sym_avma_out += di->rodata_bias;
} else
if (di->bss_present
&& di->bss_size > 0
- && sym_svma >= bss_svma
- && sym_svma < bss_svma + di->bss_size) {
+ && sym_svma >= di->bss_svma
+ && sym_svma < di->bss_svma + di->bss_size) {
*is_text_out = False;
- *sym_avma_out += bss_bias;
+ *sym_avma_out += di->bss_bias;
} else
if (di->sbss_present
&& di->sbss_size > 0
- && sym_svma >= sbss_svma
- && sym_svma < sbss_svma + di->sbss_size) {
+ && sym_svma >= di->sbss_svma
+ && sym_svma < di->sbss_svma + di->sbss_size) {
*is_text_out = False;
- *sym_avma_out += sbss_bias;
+ *sym_avma_out += di->sbss_bias;
} else {
/* Assume it's in .text. Is this a good idea? */
*is_text_out = True;
- *sym_avma_out += text_bias;
+ *sym_avma_out += di->text_bias;
}
+#endif
# if defined(VGP_ppc64_linux)
/* Allow STT_NOTYPE in the very special case where we're running on
@@ -543,7 +522,7 @@
# if defined(VGP_ppc64_linux)
/* It's crucial that we never add symbol addresses in the .opd
section. This would completely mess up function redirection and
- intercepting. This assert ensures that anysymbols that make it
+ intercepting. This assert ensures that any symbols that make it
into the symbol table on ppc64-linux don't point into .opd. */
if (di->opd_present && di->opd_size > 0) {
vg_assert(*sym_avma_out + *sym_size_out <= di->opd_avma
@@ -564,7 +543,6 @@
struct _DebugInfo* di, UChar* tab_name,
ElfXX_Sym* symtab_img, SizeT symtab_szB,
UChar* strtab_img, SizeT strtab_szB,
- Bool symtab_in_debug,
UChar* opd_img /* ppc64-linux only */
)
{
@@ -599,7 +577,6 @@
show_raw_elf_symbol(i, sym, sym_name, sym_svma, False);
if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
- symtab_in_debug,
opd_img, di->text_bias,
&sym_name_really,
&sym_avma_really,
@@ -664,7 +641,6 @@
struct _DebugInfo* di, UChar* tab_name,
ElfXX_Sym* symtab_img, SizeT symtab_szB,
UChar* strtab_img, SizeT strtab_szB,
- Bool symtab_in_debug,
UChar* opd_img /* ppc64-linux only */
)
{
@@ -710,7 +686,6 @@
show_raw_elf_symbol(i, sym, sym_name, sym_svma, True);
if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
- symtab_in_debug,
opd_img, di->text_bias,
&sym_name_really,
&sym_avma_really,
@@ -1896,24 +1871,21 @@
void (*read_elf_symtab)(struct _DebugInfo*,UChar*,
ElfXX_Sym*,SizeT,
UChar*,SizeT,
- Bool,UChar*);
- Bool symtab_in_debug;
+ UChar*);
# if defined(VGP_ppc64_linux)
read_elf_symtab = read_elf_symtab__ppc64_linux;
# else
read_elf_symtab = read_elf_symtab__normal;
# endif
- symtab_in_debug = (Addr)symtab_img >= dimage
- && (Addr)symtab_img < dimage + n_dimage;
read_elf_symtab(di, "symbol table",
symtab_img, symtab_sz,
strtab_img, strtab_sz,
- symtab_in_debug, opd_img);
+ opd_img);
read_elf_symtab(di, "dynamic symbol table",
dynsym_img, dynsym_sz,
dynstr_img, dynstr_sz,
- False, opd_img);
+ opd_img);
}
/* Read .eh_frame (call-frame-info) if any */
|
|
From: <sv...@va...> - 2009-04-14 01:46:18
|
Author: njn
Date: 2009-04-14 02:44:10 +0100 (Tue, 14 Apr 2009)
New Revision: 9525
Log:
Merge r9499..9522 from the trunk.
Modified:
branches/DARWIN/NEWS
branches/DARWIN/configure.in
branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
branches/DARWIN/coregrind/m_syswrap/syswrap-linux.c
branches/DARWIN/drd/Testing.txt
branches/DARWIN/drd/drd_mutex.c
branches/DARWIN/drd/drd_rwlock.c
branches/DARWIN/drd/tests/
branches/DARWIN/drd/tests/pth_detached.c
branches/DARWIN/glibc-2.X-drd.supp
branches/DARWIN/include/vki/vki-amd64-linux.h
branches/DARWIN/include/vki/vki-ppc32-linux.h
branches/DARWIN/include/vki/vki-ppc64-linux.h
branches/DARWIN/include/vki/vki-x86-linux.h
branches/DARWIN/nightly/bin/nightly
Modified: branches/DARWIN/NEWS
===================================================================
--- branches/DARWIN/NEWS 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/NEWS 2009-04-14 01:44:10 UTC (rev 9525)
@@ -78,6 +78,7 @@
n-i-bz DRD - added new client request, VG_USERREQ__DRD_CLEAN_MEMORY.
187048 DRD - the mutex attribute PTHREAD_PROCESS_SHARED is now
interpreted correctly.
+188046 Removed a bashism from the configure script.
Modified: branches/DARWIN/configure.in
===================================================================
--- branches/DARWIN/configure.in 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/configure.in 2009-04-14 01:44:10 UTC (rev 9525)
@@ -68,7 +68,7 @@
# If no AR variable was specified, look up the name of the archiver. Otherwise
# do not touch the AR variable.
if test "x$AR" = "x"; then
- AC_PATH_PROGS([AR], ["${LD%ld}ar" "ar"], [ar])
+ AC_PATH_PROGS([AR], [`echo $LD | sed 's/ld$/ar/'` "ar"], [ar])
fi
AC_ARG_VAR([AR],[Archiver command])
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-04-14 01:44:10 UTC (rev 9525)
@@ -2901,6 +2901,17 @@
VG_(printf)(" rci:DW_CFA_undefined\n");
break;
+ case DW_CFA_same_value:
+ reg = read_leb128( &instr[i], &nleb, 0);
+ i += nleb;
+ if (reg < 0 || reg >= N_CFI_REGS)
+ return 0; /* fail */
+ ctx->reg[reg].tag = RR_Same;
+ ctx->reg[reg].arg = 0;
+ if (di->ddump_frames)
+ VG_(printf)(" rci:DW_CFA_same_value\n");
+ break;
+
case DW_CFA_GNU_args_size:
/* No idea what is supposed to happen. gdb-6.3 simply
ignores these. */
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-linux.c 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-linux.c 2009-04-14 01:44:10 UTC (rev 9525)
@@ -3531,6 +3531,9 @@
case VKI_SIOCGSTAMP:
PRE_MEM_WRITE( "ioctl(SIOCGSTAMP)", ARG3, sizeof(struct vki_timeval));
break;
+ case VKI_SIOCGSTAMPNS:
+ PRE_MEM_WRITE( "ioctl(SIOCGSTAMPNS)", ARG3, sizeof(struct vki_timespec));
+ break;
/* SIOCOUTQ is an ioctl that, when called on a socket, returns
the number of bytes currently in that socket's send buffer.
It writes this value as an int to the memory location
@@ -4534,6 +4537,9 @@
case VKI_SIOCGSTAMP:
POST_MEM_WRITE( ARG3, sizeof(struct vki_timeval) );
break;
+ case VKI_SIOCGSTAMPNS:
+ POST_MEM_WRITE( ARG3, sizeof(struct vki_timespec) );
+ break;
/* SIOCOUTQ is an ioctl that, when called on a socket, returns
the number of bytes currently in that socket's send buffer.
It writes this value as an int to the memory location
Modified: branches/DARWIN/drd/Testing.txt
===================================================================
--- branches/DARWIN/drd/Testing.txt 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/drd/Testing.txt 2009-04-14 01:44:10 UTC (rev 9525)
@@ -11,8 +11,9 @@
4. Run the regression tests as follows:
perl tests/vg_regtest drd
5. Run Konstantin's regression tests:
- svn checkout http://data-race-test.googlecode.com/svn/trunk drt
- make -C drt/unittest -s build
+ mkdir -p drt/unittest
+ svn checkout http://data-race-test.googlecode.com/svn/trunk/unittest drt/unittest
+ make -C drt/unittest -s all
./vg-in-place --tool=drd --check-stack-var=yes drt/unittest/racecheck_unittest 2>&1|less
6. Test the slowdown for matinv for various matrix sizes via the script
drd/scripts/run-matinv (must be about 24 for i == 1 and about
Modified: branches/DARWIN/drd/drd_mutex.c
===================================================================
--- branches/DARWIN/drd/drd_mutex.c 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/drd/drd_mutex.c 2009-04-14 01:44:10 UTC (rev 9525)
@@ -405,7 +405,7 @@
{
if (s_mutex_lock_threshold_ms > 0)
{
- ULong held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
+ Long held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
if (held > s_mutex_lock_threshold_ms)
{
HoldtimeErrInfo HEI
Modified: branches/DARWIN/drd/drd_rwlock.c
===================================================================
--- branches/DARWIN/drd/drd_rwlock.c 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/drd/drd_rwlock.c 2009-04-14 01:44:10 UTC (rev 9525)
@@ -521,7 +521,7 @@
q->reader_nesting_count--;
if (q->reader_nesting_count == 0 && DRD_(s_shared_threshold_ms) > 0)
{
- ULong held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
+ Long held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
if (held > DRD_(s_shared_threshold_ms))
{
HoldtimeErrInfo HEI
@@ -539,7 +539,7 @@
q->writer_nesting_count--;
if (q->writer_nesting_count == 0 && DRD_(s_exclusive_threshold_ms) > 0)
{
- ULong held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
+ Long held = VG_(read_millisecond_timer)() - p->acquiry_time_ms;
if (held > DRD_(s_exclusive_threshold_ms))
{
HoldtimeErrInfo HEI
Property changes on: branches/DARWIN/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
trylock
vg_regtest.tmp*
Modified: branches/DARWIN/drd/tests/pth_detached.c
===================================================================
--- branches/DARWIN/drd/tests/pth_detached.c 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/drd/tests/pth_detached.c 2009-04-14 01:44:10 UTC (rev 9525)
@@ -91,5 +91,7 @@
pthread_mutex_destroy(&s_mutex);
+ sleep(1);
+
return 0;
}
Modified: branches/DARWIN/glibc-2.X-drd.supp
===================================================================
--- branches/DARWIN/glibc-2.X-drd.supp 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/glibc-2.X-drd.supp 2009-04-14 01:44:10 UTC (rev 9525)
@@ -310,7 +310,6 @@
libglib-g_get_language_names
drd:ConflictingAccess
fun:g_slice_free_chain_with_offset
- fun:g_get_language_names
}
{
libQtCore-4.0/4.1-Q_GLOBAL_STATIC-connectionList
@@ -325,7 +324,6 @@
fun:_ZN14QReadWriteLock12lockForWriteEv
fun:_ZN14QObjectPrivate11clearGuardsEP7QObject
fun:_ZN7QObjectD2Ev
- fun:_ZN20QEventDispatcherGlibD0Ev
}
{
libQtCore-QObjectPrivate::clearGuards(QObject*)
Modified: branches/DARWIN/include/vki/vki-amd64-linux.h
===================================================================
--- branches/DARWIN/include/vki/vki-amd64-linux.h 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/include/vki/vki-amd64-linux.h 2009-04-14 01:44:10 UTC (rev 9525)
@@ -287,9 +287,10 @@
// From linux-2.6.9/include/asm-x86_64/sockios.h
//----------------------------------------------------------------------
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.9/include/asm-x86_64/stat.h
Modified: branches/DARWIN/include/vki/vki-ppc32-linux.h
===================================================================
--- branches/DARWIN/include/vki/vki-ppc32-linux.h 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/include/vki/vki-ppc32-linux.h 2009-04-14 01:44:10 UTC (rev 9525)
@@ -352,9 +352,10 @@
#define VKI_SOL_SOCKET 1
#define VKI_SO_TYPE 3
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.10/include/asm-ppc/stat.h
Modified: branches/DARWIN/include/vki/vki-ppc64-linux.h
===================================================================
--- branches/DARWIN/include/vki/vki-ppc64-linux.h 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/include/vki/vki-ppc64-linux.h 2009-04-14 01:44:10 UTC (rev 9525)
@@ -410,7 +410,8 @@
#define VKI_SIOCSPGRP 0x8902
#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.13/include/asm-ppc64/stat.h
Modified: branches/DARWIN/include/vki/vki-x86-linux.h
===================================================================
--- branches/DARWIN/include/vki/vki-x86-linux.h 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/include/vki/vki-x86-linux.h 2009-04-14 01:44:10 UTC (rev 9525)
@@ -328,9 +328,10 @@
// From linux-2.6.8.1/include/asm-i386/sockios.h
//----------------------------------------------------------------------
-#define VKI_SIOCSPGRP 0x8902
-#define VKI_SIOCGPGRP 0x8904
-#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
+#define VKI_SIOCSPGRP 0x8902
+#define VKI_SIOCGPGRP 0x8904
+#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/asm-i386/stat.h
Modified: branches/DARWIN/nightly/bin/nightly
===================================================================
--- branches/DARWIN/nightly/bin/nightly 2009-04-14 01:18:09 UTC (rev 9524)
+++ branches/DARWIN/nightly/bin/nightly 2009-04-14 01:44:10 UTC (rev 9525)
@@ -41,7 +41,7 @@
#----------------------------------------------------------------------------
# Must have at two arguments
if [ $# -ne 2 ] ; then
- echo "usage: bin/night /path/to/valgrind/nightly <tag>"
+ echo "usage: $0 /path/to/valgrind/nightly <tag>"
exit 1
fi
|
|
From: <sv...@va...> - 2009-04-14 01:18:14
|
Author: njn Date: 2009-04-14 02:18:09 +0100 (Tue, 14 Apr 2009) New Revision: 9524 Log: Merged r9468..9496 from the trunk. Modified: branches/DARWIN/NEWS branches/DARWIN/coregrind/m_debuginfo/readelf.c branches/DARWIN/drd/TODO.txt branches/DARWIN/drd/drd.h branches/DARWIN/drd/drd_barrier.c branches/DARWIN/drd/drd_barrier.h branches/DARWIN/drd/drd_basics.h branches/DARWIN/drd/drd_bitmap.c branches/DARWIN/drd/drd_bitmap.h branches/DARWIN/drd/drd_clientobj.c branches/DARWIN/drd/drd_clientobj.h branches/DARWIN/drd/drd_clientreq.c branches/DARWIN/drd/drd_clientreq.h branches/DARWIN/drd/drd_cond.c branches/DARWIN/drd/drd_cond.h branches/DARWIN/drd/drd_error.c branches/DARWIN/drd/drd_error.h branches/DARWIN/drd/drd_gomp_intercepts.c branches/DARWIN/drd/drd_load_store.c branches/DARWIN/drd/drd_load_store.h branches/DARWIN/drd/drd_main.c branches/DARWIN/drd/drd_malloc_wrappers.c branches/DARWIN/drd/drd_malloc_wrappers.h branches/DARWIN/drd/drd_mutex.c branches/DARWIN/drd/drd_mutex.h branches/DARWIN/drd/drd_pthread_intercepts.c branches/DARWIN/drd/drd_qtcore_intercepts.c branches/DARWIN/drd/drd_rwlock.c branches/DARWIN/drd/drd_rwlock.h branches/DARWIN/drd/drd_segment.c branches/DARWIN/drd/drd_segment.h branches/DARWIN/drd/drd_semaphore.c branches/DARWIN/drd/drd_semaphore.h branches/DARWIN/drd/drd_strmem_intercepts.c branches/DARWIN/drd/drd_suppression.c branches/DARWIN/drd/drd_suppression.h branches/DARWIN/drd/drd_thread.c branches/DARWIN/drd/drd_thread.h branches/DARWIN/drd/drd_thread_bitmap.h branches/DARWIN/drd/drd_vc.c branches/DARWIN/drd/drd_vc.h branches/DARWIN/drd/pub_drd_bitmap.h [... diff too large to include ...] |