You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(9) |
2
(19) |
|
3
(5) |
4
(20) |
5
(5) |
6
(9) |
7
(6) |
8
(8) |
9
(5) |
|
10
(5) |
11
(5) |
12
(7) |
13
(7) |
14
(6) |
15
(5) |
16
(5) |
|
17
(5) |
18
(7) |
19
(21) |
20
(9) |
21
(6) |
22
(8) |
23
(6) |
|
24
(9) |
25
(9) |
26
(8) |
27
(19) |
28
(15) |
29
(8) |
30
(5) |
|
31
(6) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2008-08-04 22:31:04
|
Author: sewardj
Date: 2008-08-04 23:31:11 +0100 (Mon, 04 Aug 2008)
New Revision: 8517
Log:
Handle syscalls __NR__sysct and __NR_pread64.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 22:30:33 UTC (rev 8516)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 22:31:11 UTC (rev 8517)
@@ -2270,6 +2270,7 @@
# if defined(__NR__llseek)
case __NR__llseek:
# endif
+ case __NR__sysctl:
# if defined(__NR__newselect)
case __NR__newselect:
# endif
@@ -2369,6 +2370,7 @@
case __NR_open:
case __NR_pipe:
case __NR_poll:
+ case __NR_pread64:
case __NR_pwrite64:
case __NR_read:
case __NR_readlink:
|
|
From: <sv...@va...> - 2008-08-04 22:30:24
|
Author: sewardj
Date: 2008-08-04 23:30:33 +0100 (Mon, 04 Aug 2008)
New Revision: 8516
Log:
Don't include subdirs of exp-ptrcheck/test in the tarball right now.
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
Modified: branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 22:29:53 UTC (rev 8515)
+++ branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 22:30:33 UTC (rev 8516)
@@ -16,7 +16,7 @@
#SUBDIRS += ppc64
#endif
-DIST_SUBDIRS = ${VG_ARCH_ALL} .
+#DIST_SUBDIRS = ${VG_ARCH_ALL} .
noinst_SCRIPTS = filter_stderr filter_add filter_suppgen \
sh_script
|
|
From: <sv...@va...> - 2008-08-04 22:29:45
|
Author: sewardj Date: 2008-08-04 23:29:53 +0100 (Mon, 04 Aug 2008) New Revision: 8515 Log: 'make dist' fix: Don't omit fdleak.h from the tarball. Modified: branches/PTRCHECK/none/tests/Makefile.am Modified: branches/PTRCHECK/none/tests/Makefile.am =================================================================== --- branches/PTRCHECK/none/tests/Makefile.am 2008-08-04 22:26:29 UTC (rev 8514) +++ branches/PTRCHECK/none/tests/Makefile.am 2008-08-04 22:29:53 UTC (rev 8515) @@ -22,6 +22,8 @@ filter_cmdline0 filter_linenos \ filter_fdleak filter_none_discards filter_stderr +noinst_HEADERS = fdleak.h + EXTRA_DIST = $(noinst_SCRIPTS) \ ansi.stderr.exp ansi.vgtest \ args.stderr.exp args.stdout.exp args.vgtest \ |
|
From: <sv...@va...> - 2008-08-04 22:26:51
|
Author: sewardj
Date: 2008-08-04 23:26:29 +0100 (Mon, 04 Aug 2008)
New Revision: 8514
Log:
Wrap __NR_getpeername in #ifdef.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 22:15:05 UTC (rev 8513)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 22:26:29 UTC (rev 8514)
@@ -2331,7 +2331,9 @@
case __NR_getgid32:
# endif
case __NR_getitimer:
+# if defined(__NR_getpeername)
case __NR_getpeername:
+# endif
case __NR_getppid:
case __NR_getresgid:
case __NR_getresuid:
|
|
From: <sv...@va...> - 2008-08-04 22:14:58
|
Author: sewardj
Date: 2008-08-04 23:15:05 +0100 (Mon, 04 Aug 2008)
New Revision: 8513
Log:
Handle a couple more syscalls.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 20:39:57 UTC (rev 8512)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 22:15:05 UTC (rev 8513)
@@ -2381,6 +2381,7 @@
case __NR_rmdir:
case __NR_rt_sigaction:
case __NR_rt_sigprocmask:
+ case __NR_rt_sigreturn: /* not sure if we should see this or not */
case __NR_sched_get_priority_max:
case __NR_sched_get_priority_min:
case __NR_sched_getparam:
@@ -2398,6 +2399,7 @@
case __NR_set_tid_address:
case __NR_setitimer:
case __NR_setrlimit:
+ case __NR_setsid:
# if defined(__NR_setsockopt)
case __NR_setsockopt:
# endif
@@ -2429,6 +2431,7 @@
case __NR_sysinfo:
case __NR_tgkill:
case __NR_time:
+ case __NR_times:
case __NR_truncate:
# if defined(__NR_truncate64)
case __NR_truncate64:
|
|
From: <sv...@va...> - 2008-08-04 20:39:51
|
Author: sewardj
Date: 2008-08-04 21:39:57 +0100 (Mon, 04 Aug 2008)
New Revision: 8512
Log:
Add a couple of missing syscall cases.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 16:54:57 UTC (rev 8511)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 20:39:57 UTC (rev 8512)
@@ -2331,6 +2331,7 @@
case __NR_getgid32:
# endif
case __NR_getitimer:
+ case __NR_getpeername:
case __NR_getppid:
case __NR_getresgid:
case __NR_getresuid:
@@ -2378,6 +2379,8 @@
# endif
case __NR_rename:
case __NR_rmdir:
+ case __NR_rt_sigaction:
+ case __NR_rt_sigprocmask:
case __NR_sched_get_priority_max:
case __NR_sched_get_priority_min:
case __NR_sched_getparam:
@@ -2400,6 +2403,7 @@
# endif
# if defined(__NR_shmctl)
case __NR_shmctl:
+ case __NR_shmdt:
# endif
# if defined(__NR_shutdown)
case __NR_shutdown:
@@ -2413,8 +2417,6 @@
# if defined(__NR_statfs64)
case __NR_statfs64:
# endif
- case __NR_rt_sigaction:
- case __NR_rt_sigprocmask:
# if defined(__NR_sigreturn)
case __NR_sigreturn: /* not sure if we should see this or not */
# endif
|
|
From: Filipe C. <fi...@gm...> - 2008-08-04 18:24:44
|
On 4 Aug, 2008, at 15:26, chenping19850429 wrote: > > As I know, complier will give a warning when the type of pionter > is different from the type of memory that it accesses to. Yet I want > to give more detail information of the type conflict. In my opinion, > some of the warnings represent acutal error, while others may be > done by the programmer delibrately.Moreover, compiler may give no > warnings in some cases. For example, if memory is allocated with > the type of "int", and an pointer with "unsigned int" type points to > it.This may lead to integer overflow. So I want to use valgrind give > more information about the warning, give some useful information to > the programmer and tell them the potential vulnerability. This example, in a strongly typed language, would blow up. In C it doesn't due to type compatability (which could be added to "the other language", if it allowed it. Even summing a float with an integer may be a type error :-) > But I'm not sure that whether the work I mentioned above is > worthy to do. So I want to get some suggestions from you. > (1)Whether "pointer type checking" based on valgrind is > worthy to do? You can't do this with valgrind because of type erasure. The compiled code has no type information so you can't do any pointer type checking. > (2)Are there some previous tools which can give some type > information of memory ? Due to type erasure: no. Maybe you could use some debug information and take care of the types (when the code is compiled with debug information), but I don't think it would work very well and I guess it could be rather fragile. What you can do is use a static analysis tool in your code. Something like clang may be of use if you're using C/Objective-C (C++ support is no that good... yet :-)) - Filipe Cabecinhas |
|
From: <sv...@va...> - 2008-08-04 16:54:48
|
Author: sewardj
Date: 2008-08-04 17:54:57 +0100 (Mon, 04 Aug 2008)
New Revision: 8511
Log:
Merge minimal changes from head (r8465, r8455, r8457) so as to make
'make dist' work.
Modified:
branches/PTRCHECK/exp-drd/Makefile.am
branches/PTRCHECK/exp-drd/docs/drd-manual.xml
Modified: branches/PTRCHECK/exp-drd/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-drd/Makefile.am 2008-08-04 16:49:46 UTC (rev 8510)
+++ branches/PTRCHECK/exp-drd/Makefile.am 2008-08-04 16:54:57 UTC (rev 8511)
@@ -120,7 +120,12 @@
drd_thread.h \
drd_track.h \
drd_vc.h \
- pub_drd_bitmap.h
+ pub_drd_bitmap.h \
+ drd_bitmap.c \
+ drd_segment.c \
+ drd_thread.c \
+ drd_vc.c \
+ drd_thread_bitmap.h
exp_drd_x86_linux_SOURCES = $(DRD_SOURCES_COMMON)
exp_drd_x86_linux_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
Modified: branches/PTRCHECK/exp-drd/docs/drd-manual.xml
===================================================================
--- branches/PTRCHECK/exp-drd/docs/drd-manual.xml 2008-08-04 16:49:46 UTC (rev 8510)
+++ branches/PTRCHECK/exp-drd/docs/drd-manual.xml 2008-08-04 16:54:57 UTC (rev 8511)
@@ -832,6 +832,7 @@
xreflabel="Racy use of pthread_cond_wait()"
>
<title>Racy use of pthread_cond_wait()</title>
+<!--
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname='thread1'/>
<colspec colname='thread2'/>
@@ -862,6 +863,7 @@
</row>
</tbody>
</tgroup>
+-->
</table>
<table
@@ -870,6 +872,7 @@
xreflabel="Correct use of pthread_cond_wait()"
>
<title>Correct use of pthread_cond_wait()</title>
+<!--
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname='thread1'/>
<colspec colname='thread2'/>
@@ -900,6 +903,7 @@
</row>
</tbody>
</tgroup>
+-->
</table>
</sect2>
|
|
From: <sv...@va...> - 2008-08-04 16:49:38
|
Author: sewardj Date: 2008-08-04 17:49:46 +0100 (Mon, 04 Aug 2008) New Revision: 8510 Log: Add missing file. Added: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-amd64 Added: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-amd64 =================================================================== --- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-amd64 (rev 0) +++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-amd64 2008-08-04 16:49:46 UTC (rev 8510) @@ -0,0 +1,107 @@ + +Invalid read of size 4 + at 0x........: main (partial.c:21) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:22) + Address 0x........ is 1 bytes inside the accessing pointer's + legitimate range, a block of size 4 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:7) + +Invalid read of size 4 + at 0x........: main (partial.c:23) + Address 0x........ is 2 bytes inside the accessing pointer's + legitimate range, a block of size 5 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:8) + +Invalid read of size 4 + at 0x........: main (partial.c:24) + Address 0x........ is 3 bytes inside the accessing pointer's + legitimate range, a block of size 6 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:9) + +Invalid read of size 4 + at 0x........: main (partial.c:25) + Address 0x........ is 4 bytes inside the accessing pointer's + legitimate range, a block of size 7 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:10) + +Invalid read of size 4 + at 0x........: main (partial.c:34) + Address 0x........ is 1 bytes before the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:35) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:36) + Address 0x........ is 1 bytes inside the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:37) + Address 0x........ is 2 bytes inside the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:38) + Address 0x........ is 0 bytes after the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 4 + at 0x........: main (partial.c:41) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 3 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:6) + +Invalid read of size 8 + at 0x........: main (partial.c:42) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 7 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:7) + +Invalid read of size 8 + at 0x........: main (partial.c:43) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 7 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:8) + +Invalid read of size 1 + at 0x........: main (partial.c:44) + Address 0x........ is 0 bytes after the accessing pointer's + legitimate range, a block of size 0 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:9) + +Invalid read of size 2 + at 0x........: main (partial.c:45) + Address 0x........ is 0 bytes inside the accessing pointer's + legitimate range, a block of size 1 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (partial.c:10) + +ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0) |
|
From: <sv...@va...> - 2008-08-04 16:33:40
|
Author: sewardj
Date: 2008-08-04 17:33:46 +0100 (Mon, 04 Aug 2008)
New Revision: 8509
Log:
Add 64-bit expected outputs for regtests, extra comments, fix 64-bit bugs.
Added:
branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-amd64
branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-x86
branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-amd64
branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-x86
branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-x86
branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-amd64
branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-x86
branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-amd64
branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-x86
branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-amd64
branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-x86
Removed:
branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
branches/PTRCHECK/exp-ptrcheck/tests/partial.c
branches/PTRCHECK/exp-ptrcheck/tests/realloc.c
branches/PTRCHECK/exp-ptrcheck/tests/strcpy.c
branches/PTRCHECK/exp-ptrcheck/tests/unaligned.c
Modified: branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 16:33:46 UTC (rev 8509)
@@ -26,8 +26,10 @@
and.vgtest-disabled and.stderr.exp \
arith.vgtest-disabled arith.stderr.exp \
arith_include1.c arith_include2.c \
- base.vgtest base.stderr.exp \
- ccc.vgtest ccc.stderr.exp \
+ base.vgtest \
+ base.stderr.exp-glibc25-amd64 base.stderr.exp-glibc25-x86 \
+ ccc.vgtest \
+ ccc.stderr.exp-glibc25-x86 ccc.stderr.exp-glibc25-amd64 \
cmp.vgtest-disabled cmp.stderr.exp \
fp.vgtest fp.stderr.exp \
hp_bounds.vgtest hp_bounds.stderr.exp \
@@ -39,11 +41,16 @@
neg.vgtest-disabled neg.stderr.exp \
not.vgtest-disabled not.stderr.exp \
or.vgtest-disabled or.stderr.exp \
- partial_bad.vgtest partial_bad.stderr.exp \
- partial_good.vgtest partial_good.stderr.exp \
+ partial_bad.vgtest \
+ partial_bad.stderr.exp-glibc25-x86 \
+ partial_bad.stderr.exp-glibc25-amd64 \
+ partial_good.vgtest \
+ partial_good.stderr.exp-glibc25-x86 \
+ partial_good.stderr.exp-glibc25-amd64 \
pth_create.vgtest pth_create.stderr.exp \
pth_specific.vgtest pth_specific.stderr.exp \
- realloc.vgtest realloc.stderr.exp \
+ realloc.vgtest \
+ realloc.stderr.exp-glibc25-x86 realloc.stderr.exp-glibc25-amd64 \
sh_script.vgtest-disabled sh_script.stderr.exp \
strcpy.vgtest strcpy.stderr.exp \
strlen_bad.vgtest-disabled strlen_bad.stderr.exp \
@@ -53,7 +60,8 @@
suppgen.vgtest-disabled suppgen.stderr.exp suppgen.stdin \
syscall.vgtest-disabled syscall.stderr.exp \
tricky.vgtest tricky.stderr.exp \
- unaligned.vgtest unaligned.stderr.exp \
+ unaligned.vgtest \
+ unaligned.stderr.exp-glibc25-x86 unaligned.stderr.exp-glibc25-amd64 \
xor.vgtest-disabled xor.stderr.exp \
zero.vgtest zero.stderr.exp
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,35 +0,0 @@
-
-about to do 14 [0]
-about to do 14 [-1]
-Invalid read of size 4
- at 0x........: main (base.c:14)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 40 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (arith_include2.c:22)
-about to do 16 [0]
-about to do 16 [-1]
-about to do 18 [0]
-about to do 18 [-1]
-about to do 20 [0]
-
-Invalid read of size 4
- at 0x........: main (base.c:20)
- Address 0x........ is not derived from any known block
-about to do 20 [-1]
-
-Invalid read of size 4
- at 0x........: main (base.c:20)
- Address 0x........ is not derived from any known block
-about to do 22 [0]
-
-Invalid read of size 4
- at 0x........: main (base.c:22)
- Address 0x........ is not derived from any known block
-about to do 22 [-1]
-
-Invalid read of size 4
- at 0x........: main (base.c:22)
- Address 0x........ is not derived from any known block
-
-ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
Added: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-amd64
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-amd64 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-amd64 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,35 @@
+
+about to do 14 [0]
+about to do 14 [-1]
+Invalid read of size 8
+ at 0x........: main (base.c:14)
+ Address 0x........ is 8 bytes before the accessing pointer's
+ legitimate range, a block of size 80 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (arith_include2.c:22)
+about to do 16 [0]
+about to do 16 [-1]
+about to do 18 [0]
+about to do 18 [-1]
+about to do 20 [0]
+
+Invalid read of size 8
+ at 0x........: main (base.c:20)
+ Address 0x........ is not derived from any known block
+about to do 20 [-1]
+
+Invalid read of size 8
+ at 0x........: main (base.c:20)
+ Address 0x........ is not derived from any known block
+about to do 22 [0]
+
+Invalid read of size 8
+ at 0x........: main (base.c:22)
+ Address 0x........ is not derived from any known block
+about to do 22 [-1]
+
+Invalid read of size 8
+ at 0x........: main (base.c:22)
+ Address 0x........ is not derived from any known block
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-x86 (from rev 8507, branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,35 @@
+
+about to do 14 [0]
+about to do 14 [-1]
+Invalid read of size 4
+ at 0x........: main (base.c:14)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (arith_include2.c:22)
+about to do 16 [0]
+about to do 16 [-1]
+about to do 18 [0]
+about to do 18 [-1]
+about to do 20 [0]
+
+Invalid read of size 4
+ at 0x........: main (base.c:20)
+ Address 0x........ is not derived from any known block
+about to do 20 [-1]
+
+Invalid read of size 4
+ at 0x........: main (base.c:20)
+ Address 0x........ is not derived from any known block
+about to do 22 [0]
+
+Invalid read of size 4
+ at 0x........: main (base.c:22)
+ Address 0x........ is not derived from any known block
+about to do 22 [-1]
+
+Invalid read of size 4
+ at 0x........: main (base.c:22)
+ Address 0x........ is not derived from any known block
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,45 +0,0 @@
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:20)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:8)
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:21)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: operator new(unsigned) (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:9)
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:22)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 40 alloc'd
- at 0x........: operator new[](unsigned) (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:10)
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:22)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: calloc (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:11)
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:23)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: memalign (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:12)
-
-Invalid read of size 4
- at 0x........: main (ccc.cpp:24)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: memalign (vg_replace_malloc.c:...)
- by 0x........: posix_memalign (vg_replace_malloc.c:...)
- by 0x........: main (ccc.cpp:14)
-
-ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Added: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-amd64
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-amd64 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-amd64 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,45 @@
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:20)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:8)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:21)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: operator new(unsigned long) (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:9)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:22)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
+ at 0x........: operator new[](unsigned long) (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:10)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:22)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:11)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:23)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: memalign (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:12)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:24)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: memalign (vg_replace_malloc.c:...)
+ by 0x........: posix_memalign (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:14)
+
+ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-x86 (from rev 8507, branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,45 @@
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:20)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:8)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:21)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: operator new(unsigned) (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:9)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:22)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
+ at 0x........: operator new[](unsigned) (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:10)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:22)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:11)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:23)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: memalign (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:12)
+
+Invalid read of size 4
+ at 0x........: main (ccc.cpp:24)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: memalign (vg_replace_malloc.c:...)
+ by 0x........: posix_memalign (vg_replace_malloc.c:...)
+ by 0x........: main (ccc.cpp:14)
+
+ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/partial.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial.c 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial.c 2008-08-04 16:33:46 UTC (rev 8509)
@@ -14,7 +14,7 @@
int* y6 = malloc(6);
int* y7 = malloc(7);
- #define ADDB(ptr, n) ((long*)(((unsigned long)(ptr)) + (n)))
+ #define ADDB(ptr, n) ((int*)(((unsigned long)(ptr)) + (n)))
// All these overrun by a single byte; the reads are happening at
// different alignments.
@@ -32,17 +32,21 @@
// These are all bad, at different points along
x = * ADDB(x3,-1); // before
- x = * ADDB(x3, 0); // inside // ok if --partial-loads-ok=yes
- x = * ADDB(x3, 1); // inside
- x = * ADDB(x3, 2); // inside
+ x = * ADDB(x3, 0); // inside // ok if --partial-loads-ok=yes ...
+ x = * ADDB(x3, 1); // inside // ... but only on 32 bit platforms
+ x = * ADDB(x3, 2); // inside // ... ditto
x = * ADDB(x3, 3); // after
// These are all bad
- f = * f3; // ok if --partial-loads-ok=yes
+ f = * f3; // ok if --partial-loads-ok=yes // ... ditto
d = * d7;
- lli = * lli7; // ok if --partial-loads-ok=yes
+ lli = * lli7; // ok if --partial-loads-ok=yes see XXX below
c = * c0;
s = * s1;
return 0;
}
+
+/* Note re XXX, this gives different behaviour on 32 and 64 bit
+platforms, because on 64-bit it's one load whereas as on 32 bit
+platforms it's necessarily 2 32-bit loads, and the first one is OK. */
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,107 +0,0 @@
-
-Invalid read of size 4
- at 0x........: main (partial.c:21)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:22)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:7)
-
-Invalid read of size 4
- at 0x........: main (partial.c:23)
- Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, a block of size 5 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:8)
-
-Invalid read of size 4
- at 0x........: main (partial.c:24)
- Address 0x........ is 3 bytes inside the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:9)
-
-Invalid read of size 4
- at 0x........: main (partial.c:25)
- Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:10)
-
-Invalid read of size 4
- at 0x........: main (partial.c:34)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:35)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:36)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:37)
- Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:38)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:41)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 8
- at 0x........: main (partial.c:42)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:7)
-
-Invalid read of size 4
- at 0x........: main (partial.c:43)
- Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:8)
-
-Invalid read of size 1
- at 0x........: main (partial.c:44)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 0 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:9)
-
-Invalid read of size 2
- at 0x........: main (partial.c:45)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 1 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:10)
-
-ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-x86 (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,107 @@
+
+Invalid read of size 4
+ at 0x........: main (partial.c:21)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:22)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:23)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 5 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:8)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:24)
+ Address 0x........ is 3 bytes inside the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:25)
+ Address 0x........ is 4 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:10)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:34)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:35)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:36)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:37)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:38)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:41)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 8
+ at 0x........: main (partial.c:42)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:43)
+ Address 0x........ is 4 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:8)
+
+Invalid read of size 1
+ at 0x........: main (partial.c:44)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 0 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 2
+ at 0x........: main (partial.c:45)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 1 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:10)
+
+ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,72 +0,0 @@
-
-Invalid read of size 4
- at 0x........: main (partial.c:22)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:7)
-
-Invalid read of size 4
- at 0x........: main (partial.c:23)
- Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, a block of size 5 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:8)
-
-Invalid read of size 4
- at 0x........: main (partial.c:24)
- Address 0x........ is 3 bytes inside the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:9)
-
-Invalid read of size 4
- at 0x........: main (partial.c:34)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:36)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:37)
- Address 0x........ is 2 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
- at 0x........: main (partial.c:38)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 8
- at 0x........: main (partial.c:42)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:7)
-
-Invalid read of size 1
- at 0x........: main (partial.c:44)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 0 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:9)
-
-Invalid read of size 2
- at 0x........: main (partial.c:45)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 1 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:10)
-
-ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
Added: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-amd64
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-amd64 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-amd64 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,93 @@
+
+Invalid read of size 4
+ at 0x........: main (partial.c:21)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:22)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:23)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 5 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:8)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:24)
+ Address 0x........ is 3 bytes inside the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:25)
+ Address 0x........ is 4 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:10)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:34)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:35)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:36)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:37)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:38)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:41)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 1
+ at 0x........: main (partial.c:44)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 0 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 2
+ at 0x........: main (partial.c:45)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 1 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:10)
+
+ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-x86 (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,72 @@
+
+Invalid read of size 4
+ at 0x........: main (partial.c:22)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:23)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 5 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:8)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:24)
+ Address 0x........ is 3 bytes inside the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:34)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:36)
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:37)
+ Address 0x........ is 2 bytes inside the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 4
+ at 0x........: main (partial.c:38)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 3 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:6)
+
+Invalid read of size 8
+ at 0x........: main (partial.c:42)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 7 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:7)
+
+Invalid read of size 1
+ at 0x........: main (partial.c:44)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 0 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:9)
+
+Invalid read of size 2
+ at 0x........: main (partial.c:45)
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ legitimate range, a block of size 1 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial.c:10)
+
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/realloc.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.c 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.c 2008-08-04 16:33:46 UTC (rev 8509)
@@ -5,7 +5,7 @@
{
int i;
int* y;
- int** x = malloc(sizeof(int) * 100);
+ int** x = malloc(sizeof(int*) * 100);
int* x2 = malloc(sizeof(int) * 100);
void* sink;
x[0] = x2; // this is to check the pointerness is copied across ok
@@ -14,7 +14,7 @@
i = *x[0];
i = *x[49];
- x = realloc(x, sizeof(int)*50); // smaller
+ x = realloc(x, sizeof(int*)*50); // smaller
y = x[0]; // ok
y = x[49]; // ok
y = x[-1]; // bad
@@ -22,7 +22,7 @@
i = *x[0]; // ok
i = *x[49]; // ok
- x = realloc(x, sizeof(int)*50); // same size
+ x = realloc(x, sizeof(int*)*50); // same size
y = x[0]; // ok
y = x[49]; // ok
y = x[-1]; // bad
@@ -30,7 +30,7 @@
i = *x[0]; // ok
i = *x[49]; // ok
- x = realloc(x, sizeof(int)*100); // bigger
+ x = realloc(x, sizeof(int*)*100); // bigger
y = x[0]; // ok
y = x[49]; // ok
y = x[50]; // ok
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,44 +0,0 @@
-
-Invalid read of size 4
- at 0x........: main (realloc.c:20)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 200 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:17)
-
-Invalid read of size 4
- at 0x........: main (realloc.c:21)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 200 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:17)
-
-Invalid read of size 4
- at 0x........: main (realloc.c:28)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 200 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:25)
-
-Invalid read of size 4
- at 0x........: main (realloc.c:29)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 200 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:25)
-
-Invalid read of size 4
- at 0x........: main (realloc.c:38)
- Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, a block of size 400 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:33)
-
-Invalid read of size 4
- at 0x........: main (realloc.c:39)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 400 alloc'd
- at 0x........: realloc (vg_replace_malloc.c:...)
- by 0x........: main (realloc.c:33)
-
-ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Added: branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-amd64
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-amd64 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-amd64 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,44 @@
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:20)
+ Address 0x........ is 8 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:17)
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:21)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:17)
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:28)
+ Address 0x........ is 8 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:25)
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:29)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:25)
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:38)
+ Address 0x........ is 8 bytes before the accessing pointer's
+ legitimate range, a block of size 800 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:33)
+
+Invalid read of size 8
+ at 0x........: main (realloc.c:39)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 800 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:33)
+
+ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-x86 (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,44 @@
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:20)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:17)
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:21)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:17)
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:28)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:25)
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:29)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:25)
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:38)
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:33)
+
+Invalid read of size 4
+ at 0x........: main (realloc.c:39)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: main (realloc.c:33)
+
+ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/strcpy.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strcpy.c 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strcpy.c 2008-08-04 16:33:46 UTC (rev 8509)
@@ -8,7 +8,7 @@
char* my_strcpy (char* dest, const char* src)
{
char c, *s = (char *) src;
- int off = dest - s;
+ long off = dest - s;
off = off - 1;
do {
c = *s++;
@@ -26,13 +26,13 @@
char u2[13];
// All these are legit
- p1[p2-p1] = 0; // p-p (must be BADSEG'd)
+ p1[p2-p1] = 0; // p-p (must be BADSEG'd) // ea is p2[0]
u1[p2-u1] = 0; // p-?
p1[u2-p1] = 0; // ?-p (must be BADSEG'd)
u1[u2-u1] = 0; // ?-?
// All these are a 1-byte underrun
- p1[p2-p1-1] = 0; // p-p (must be BADSEG'd)
+ p1[p2-p1-1] = 0; // p-p (must be BADSEG'd) // ea is p2[-1]
u1[p2-u1-1] = 0; // p-? (undet)
p1[u2-p1-1] = 0; // ?-p (must be BADSEG'd)
u1[u2-u1-1] = 0; // ?-? (undet)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/unaligned.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/unaligned.c 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/unaligned.c 2008-08-04 16:33:46 UTC (rev 8509)
@@ -30,17 +30,22 @@
c = (*p4)[5];
// These 10 are bad
- c = (*p0)[-1];
+ c = (*p0)[-1]; // always word aligned, so det
c = (*p1)[-1]; // undet
c = (*p2)[-1]; // undet
c = (*p3)[-1]; // undet
- c = (*p4)[-1];
+ c = (*p4)[-1]; // undet on 64-bit since not 64-bit aligned
- c = (*p0)[6];
+ c = (*p0)[6]; // always word aligned, so det
c = (*p1)[6]; // undet
c = (*p2)[6]; // undet
c = (*p3)[6]; // undet
- c = (*p4)[6];
+ c = (*p4)[6]; // undet on 64-bit since not 64-bit aligned
return 0;
}
+
+/* What this program does: verifies that (unfortunately) if you store a
+ pointer misaligned, then the associated shadow value decays to Unknown,
+ and so when you retrieve the pointer later and dereference it, you
+ get no check :-( */
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp 2008-08-04 14:53:51 UTC (rev 8508)
+++ branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp 2008-08-04 16:33:46 UTC (rev 8509)
@@ -1,34 +0,0 @@
-
-Invalid read of size 1
- at 0x........: main (unaligned.c:33)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: ...
- by 0x........: main (unaligned.c:8)
-
-Invalid read of size 1
- at 0x........: main (unaligned.c:37)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: ...
- by 0x........: main (unaligned.c:8)
-
-Invalid read of size 1
- at 0x........: main (unaligned.c:39)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: ...
- by 0x........: main (unaligned.c:8)
-
-Invalid read of size 1
- at 0x........: main (unaligned.c:43)
- Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 6 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: ...
- by 0x........: main (unaligned.c:8)
-
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
Added: branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-amd64
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-amd64 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-amd64 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,18 @@
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:33)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:39)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Copied: branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-x86 (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-x86 (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-x86 2008-08-04 16:33:46 UTC (rev 8509)
@@ -0,0 +1,34 @@
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:33)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:37)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:39)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
+ at 0x........: main (unaligned.c:43)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2008-08-04 14:53:46
|
Author: sewardj
Date: 2008-08-04 15:53:51 +0100 (Mon, 04 Aug 2008)
New Revision: 8508
Log:
Disable more tests for now:
* syscall.vgtest, because syscall param checking doesn't work right,
because of confusion about overlapping mmap'd segments
* x86/{asm,lea}.vgtest, partially because I can't figure out why
the build system doesn't build them, and partially because it's
not clear that they are useful anyway.
Added:
branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest-disabled
Removed:
branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
branches/PTRCHECK/exp-ptrcheck/tests/x86/Makefile.am
branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.S
Modified: branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 14:53:51 UTC (rev 8508)
@@ -2,19 +2,19 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
-SUBDIRS = .
-if VGP_X86_LINUX
-SUBDIRS += x86
-endif
-if VGP_AMD64_LINUX
-SUBDIRS += amd64
-endif
-if VGP_PPC32_LINUX
-SUBDIRS += ppc32
-endif
-if VGP_PPC64_LINUX
-SUBDIRS += ppc64
-endif
+#SUBDIRS = .
+#if VGP_X86_LINUX
+#SUBDIRS += x86
+#endif
+#if VGP_AMD64_LINUX
+#SUBDIRS += amd64
+#endif
+#if VGP_PPC32_LINUX
+#SUBDIRS += ppc32
+#endif
+#if VGP_PPC64_LINUX
+#SUBDIRS += ppc64
+#endif
DIST_SUBDIRS = ${VG_ARCH_ALL} .
@@ -51,7 +51,7 @@
sub.vgtest-disabled sub.stderr.exp \
supp.vgtest supp.stderr.exp supp.supp \
suppgen.vgtest-disabled suppgen.stderr.exp suppgen.stdin \
- syscall.vgtest syscall.stderr.exp \
+ syscall.vgtest-disabled syscall.stderr.exp \
tricky.vgtest tricky.stderr.exp \
unaligned.vgtest unaligned.stderr.exp \
xor.vgtest-disabled xor.stderr.exp \
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest 2008-08-04 14:53:51 UTC (rev 8508)
@@ -1 +0,0 @@
-prog: syscall
Copied: branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/syscall.vgtest-disabled 2008-08-04 14:53:51 UTC (rev 8508)
@@ -0,0 +1 @@
+prog: syscall
Modified: branches/PTRCHECK/exp-ptrcheck/tests/x86/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/Makefile.am 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/Makefile.am 2008-08-04 14:53:51 UTC (rev 8508)
@@ -4,8 +4,8 @@
check_PROGRAMS = asm lea
EXTRA_DIST = $(noinst_SCRIPTS) \
- asm.vgtest asm.stderr.exp \
- lea.vgtest lea.stderr.exp
+ asm.vgtest-disabled asm.stderr.exp \
+ lea.vgtest-disabled lea.stderr.exp
AM_CPPFLAGS = -I$(top_srcdir)/include
AM_CFLAGS = $(WERROR) @FLAG_M32@ -Winline -Wall -Wshadow -g \
Modified: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.S
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.S 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.S 2008-08-04 14:53:51 UTC (rev 8508)
@@ -1,4 +1,3 @@
-
.file "asm.S"
.text
.globl main
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest 2008-08-04 14:53:51 UTC (rev 8508)
@@ -1 +0,0 @@
-prog: asm
Copied: branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/asm.vgtest-disabled 2008-08-04 14:53:51 UTC (rev 8508)
@@ -0,0 +1 @@
+prog: asm
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest 2008-08-04 14:17:42 UTC (rev 8507)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest 2008-08-04 14:53:51 UTC (rev 8508)
@@ -1 +0,0 @@
-prog: lea
Copied: branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/x86/lea.vgtest-disabled 2008-08-04 14:53:51 UTC (rev 8508)
@@ -0,0 +1 @@
+prog: lea
|
|
From: chenping19850429 <che...@16...> - 2008-08-04 14:26:43
|
As I know, complier will give a warning when the type of pionter is different from the type of memory that it accesses to. Yet I want to give more detail information of the type conflict. In my opinion, some of the warnings represent acutal error, while others may be done by the programmer delibrately.Moreover, compiler may give no warnings in some cases. For example, if memory is allocated with the type of "int", and an pointer with "unsigned int" type points to it.This may lead to integer overflow. So I want to use valgrind give more information about the warning, give some useful information to the programmer and tell them the potential vulnerability.
But I'm not sure that whether the work I mentioned above is worthy to do. So I want to get some suggestions from you.
(1)Whether "pointer type checking" based on valgrind is worthy to do?
(2)Are there some previous tools which can give some type information of memory ?
Thank you.
Chenping
|
|
From: <sv...@va...> - 2008-08-04 14:17:34
|
Author: sewardj
Date: 2008-08-04 15:17:42 +0100 (Mon, 04 Aug 2008)
New Revision: 8507
Log:
Fix some expected outputs.
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/ccc.cpp
branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/filter_stderr
branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.exp
branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.exp
Modified: branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/base.stderr.exp 2008-08-04 14:17:42 UTC (rev 8507)
@@ -3,14 +3,10 @@
about to do 14 [-1]
Invalid read of size 4
at 0x........: main (base.c:14)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 4 bytes before the accessing pointer's
- legitimate range, the 40-byte block alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (arith_include2.c:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
about to do 16 [0]
about to do 16 [-1]
about to do 18 [0]
@@ -19,29 +15,21 @@
Invalid read of size 4
at 0x........: main (base.c:20)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is not derived from any known block
+ Address 0x........ is not derived from any known block
about to do 20 [-1]
Invalid read of size 4
at 0x........: main (base.c:20)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is not derived from any known block
+ Address 0x........ is not derived from any known block
about to do 22 [0]
Invalid read of size 4
at 0x........: main (base.c:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is not derived from any known block
+ Address 0x........ is not derived from any known block
about to do 22 [-1]
Invalid read of size 4
at 0x........: main (base.c:22)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is not derived from any known block
+ Address 0x........ is not derived from any known block
ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/ccc.cpp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.cpp 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.cpp 2008-08-04 14:17:42 UTC (rev 8507)
@@ -1,28 +1,41 @@
#include <assert.h>
#include <stdlib.h>
#include <malloc.h> // for memalign()
-
+static __attribute__((noinline)) void bar ( int ); /* fwds */
int main(void)
{
- int y1, y2, y3, y4, y5, y6;
+ int y1, y2, y3, y4, y5, y6, sum = 0;
int* x1 = (int*)malloc(sizeof(int));
int* x2 = new int;
int* x3 = new int[10];
int* x4 = (int*)calloc(1, sizeof(int));
int* x5 = (int*)memalign(8, sizeof(int));
- int* x6;
- int res = posix_memalign((void**)&x6, 8, sizeof(int));
+ int* x6; void* v6;
+ int res = posix_memalign(&v6, 8, sizeof(int)); x6 = (int*)v6;
assert(NULL != x1 && NULL != x2 && NULL != x3 && NULL != x4 &&
NULL != x5 && 0 == res);
-
+ __asm__ __volatile__("":::"memory");
// all underruns
- y1 = x1[-1];
- y2 = x2[-1];
- y3 = x3[-1];
- y4 = x4[-1];
- y5 = x5[-1];
- y6 = x6[-1];
+ sum += x1[-1]; __asm__ __volatile__("":::"memory"); bar(1);
+ sum += x2[-1]; __asm__ __volatile__("":::"memory"); bar(2);
+ sum += x3[-1]; __asm__ __volatile__("":::"memory"); bar(3);
+ sum += x4[-1]; __asm__ __volatile__("":::"memory"); bar(4);
+ sum += x5[-1]; __asm__ __volatile__("":::"memory"); bar(5);
+ sum += x6[-1]; __asm__ __volatile__("":::"memory"); bar(6);
+ __asm__ __volatile__("":::"memory");
+ return sum;
+}
- return y1+y2+y3+y4+y5+y6;
+/* What's with all this __asm__ __volatile__ stuff? Well, it's an
+ attempt to get gcc-4.1.2 not to claim the memory references that
+ we're interested in -- x1[-1] through x6[-1] -- appear on different
+ lines than they really do. By its own rules, gcc can't move code
+ across an __asm__ __volatile__, and the "memory" item says each one
+ clobbers memory in some way which gcc can't know, so that probably
+ (!) persuades it not to carry memory CSEs around either. */
+
+static __attribute__((noinline)) void bar ( int x )
+{
+ __asm__ __volatile__("":::"memory");
}
Modified: branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/ccc.stderr.exp 2008-08-04 14:17:42 UTC (rev 8507)
@@ -10,34 +10,32 @@
at 0x........: main (ccc.cpp:21)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
- at 0x........: __builtin_new (vg_replace_malloc.c:...)
- by 0x........: operator new(unsigned) (vg_replace_malloc.c:...)
+ at 0x........: operator new(unsigned) (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:9)
Invalid read of size 4
at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 40 alloc'd
- at 0x........: __builtin_vec_new (vg_replace_malloc.c:...)
- by 0x........: operator new[](unsigned) (vg_replace_malloc.c:...)
+ at 0x........: operator new[](unsigned) (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:10)
Invalid read of size 4
- at 0x........: main (ccc.cpp:23)
+ at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:11)
Invalid read of size 4
- at 0x........: main (ccc.cpp:24)
+ at 0x........: main (ccc.cpp:23)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:12)
Invalid read of size 4
- at 0x........: main (ccc.cpp:25)
+ at 0x........: main (ccc.cpp:24)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/filter_stderr
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/filter_stderr 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/filter_stderr 2008-08-04 14:17:42 UTC (rev 8507)
@@ -11,6 +11,7 @@
# Anonymise paths like "(in /foo/bar/libc-baz.so)"
sed "s/(in \/.*libc.*)$/(in \/...libc...)/" |
+sed "s/(in \/.*libpthread.*)$/(in \/...libpthread...)/" |
# Anonymise paths like "__libc_start_main (../foo/bar/libc-quux.c:129)"
sed "s/__libc_\(.*\) (.*)$/__libc_\1 (...libc...)/" |
Modified: branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.exp 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/pth_create.stderr.exp 2008-08-04 14:17:42 UTC (rev 8507)
@@ -1,49 +1,18 @@
-pthread_key_create: key is non-contiguous
- at 0x........: __pthread_key_create (vg_libpthread.c:...)
+Invalid write of size 4
+ at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-First byte (0x........) is 1 bytes within a 4-byte block alloc'd
+ Address 0x........ is 1 bytes inside the accessing pointer's
+ legitimate range, a block of size 4 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_create.c:14)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Last byte is not within a known block
-Invalid read of size 4
- at 0x........: __pthread_key_create (vg_libpthread.c:...)
- by 0x........: main (pth_create.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, the 4-byte block alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:14)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-
-pthread_key_create: key contains unaddressable byte(s)
- at 0x........: __pthread_key_create (vg_libpthread.c:...)
+Invalid write of size 4
+ at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:19)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes within a 4-byte block free'd
+ Address 0x........ is 0 bytes inside the accessing pointer's
+ once-legitimate range, a block of size 4 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (pth_create.c:18)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Invalid read of size 4
- at 0x........: __pthread_key_create (vg_libpthread.c:...)
- by 0x........: main (pth_create.c:19)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, the 4-byte block free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:18)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-
-ERROR SUMMARY: 202 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Modified: branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.exp
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.exp 2008-08-04 13:20:14 UTC (rev 8506)
+++ branches/PTRCHECK/exp-ptrcheck/tests/pth_specific.stderr.exp 2008-08-04 14:17:42 UTC (rev 8507)
@@ -1,24 +1,16 @@
Invalid read of size 1
at 0x........: main (pth_specific.c:19)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 100-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
Invalid read of size 1
at 0x........: main (pth_specific.c:27)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
-Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, the 100-byte block alloc'd
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
- by 0x........: __libc_start_main (...libc...)
- by 0x........: ...
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2008-08-04 13:20:09
|
Author: sewardj
Date: 2008-08-04 14:20:14 +0100 (Mon, 04 Aug 2008)
New Revision: 8506
Log:
Disable all regtests not of primary importance.
Added:
branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest-disabled
branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest-disabled
Removed:
branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest
branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest
Modified:
branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
Modified: branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/Makefile.am 2008-08-04 13:20:14 UTC (rev 8506)
@@ -2,43 +2,59 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+SUBDIRS = .
+if VGP_X86_LINUX
+SUBDIRS += x86
+endif
+if VGP_AMD64_LINUX
+SUBDIRS += amd64
+endif
+if VGP_PPC32_LINUX
+SUBDIRS += ppc32
+endif
+if VGP_PPC64_LINUX
+SUBDIRS += ppc64
+endif
+
+DIST_SUBDIRS = ${VG_ARCH_ALL} .
+
noinst_SCRIPTS = filter_stderr filter_add filter_suppgen \
sh_script
EXTRA_DIST = $(noinst_SCRIPTS) \
- add.vgtest add.stderr.exp \
- and.vgtest and.stderr.exp \
- arith.vgtest arith.stderr.exp \
+ add.vgtest-disabled add.stderr.exp \
+ and.vgtest-disabled and.stderr.exp \
+ arith.vgtest-disabled arith.stderr.exp \
arith_include1.c arith_include2.c \
base.vgtest base.stderr.exp \
ccc.vgtest ccc.stderr.exp \
- cmp.vgtest cmp.stderr.exp \
+ cmp.vgtest-disabled cmp.stderr.exp \
fp.vgtest fp.stderr.exp \
hp_bounds.vgtest hp_bounds.stderr.exp \
hp_dangle.vgtest hp_dangle.stderr.exp \
- idiv.vgtest idiv.stderr.exp \
- imul.vgtest imul.stderr.exp \
+ idiv.vgtest-disabled idiv.stderr.exp \
+ imul.vgtest-disabled imul.stderr.exp \
justify.vgtest justify.stderr.exp \
- mm.vgtest mm.stderr.exp \
- neg.vgtest neg.stderr.exp \
- not.vgtest not.stderr.exp \
- or.vgtest or.stderr.exp \
+ mm.vgtest-disabled mm.stderr.exp \
+ neg.vgtest-disabled neg.stderr.exp \
+ not.vgtest-disabled not.stderr.exp \
+ or.vgtest-disabled or.stderr.exp \
partial_bad.vgtest partial_bad.stderr.exp \
partial_good.vgtest partial_good.stderr.exp \
pth_create.vgtest pth_create.stderr.exp \
pth_specific.vgtest pth_specific.stderr.exp \
realloc.vgtest realloc.stderr.exp \
- sh_script.vgtest sh_script.stderr.exp \
+ sh_script.vgtest-disabled sh_script.stderr.exp \
strcpy.vgtest strcpy.stderr.exp \
- strlen_bad.vgtest strlen_bad.stderr.exp \
- strlen_good.vgtest strlen_good.stderr.exp \
- sub.vgtest sub.stderr.exp \
+ strlen_bad.vgtest-disabled strlen_bad.stderr.exp \
+ strlen_good.vgtest-disabled strlen_good.stderr.exp \
+ sub.vgtest-disabled sub.stderr.exp \
supp.vgtest supp.stderr.exp supp.supp \
- suppgen.vgtest suppgen.stderr.exp suppgen.stdin \
+ suppgen.vgtest-disabled suppgen.stderr.exp suppgen.stdin \
syscall.vgtest syscall.stderr.exp \
tricky.vgtest tricky.stderr.exp \
unaligned.vgtest unaligned.stderr.exp \
- xor.vgtest xor.stderr.exp \
+ xor.vgtest-disabled xor.stderr.exp \
zero.vgtest zero.stderr.exp
check_PROGRAMS = \
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: add
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/add.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: add
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: and
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/and.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: and
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1 +0,0 @@
-prog: arith
Copied: branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/arith.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1 @@
+prog: arith
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1 +0,0 @@
-prog: cmp
Copied: branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/cmp.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1 @@
+prog: cmp
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: idiv
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/idiv.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: idiv
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: imul
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/imul.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: imul
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1 +0,0 @@
-prog: mm
Copied: branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/mm.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1 @@
+prog: mm
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: neg
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/neg.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: neg
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: not
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/not.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: not
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: or
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/or.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: or
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1 +0,0 @@
-prog: sh_script
Copied: branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/sh_script.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1 @@
+prog: sh_script
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: strlen
-vgopts: --partial-loads-ok=no
Copied: branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_bad.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: strlen
+vgopts: --partial-loads-ok=no
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: strlen
-vgopts: --partial-loads-ok=yes
Copied: branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/strlen_good.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: strlen
+vgopts: --partial-loads-ok=yes
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: sub
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/sub.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: sub
+stderr_filter: filter_add
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,4 +0,0 @@
-prog: supp
-vgopts: --gen-suppressions=yes
-args: < suppgen.stdin
-stderr_filter: filter_suppgen
Copied: branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/suppgen.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,4 @@
+prog: supp
+vgopts: --gen-suppressions=yes
+args: < suppgen.stdin
+stderr_filter: filter_suppgen
Deleted: branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest 2008-08-04 11:41:47 UTC (rev 8505)
+++ branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest 2008-08-04 13:20:14 UTC (rev 8506)
@@ -1,2 +0,0 @@
-prog: xor
-stderr_filter: filter_add
Copied: branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest-disabled (from rev 8499, branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest)
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest-disabled (rev 0)
+++ branches/PTRCHECK/exp-ptrcheck/tests/xor.vgtest-disabled 2008-08-04 13:20:14 UTC (rev 8506)
@@ -0,0 +1,2 @@
+prog: xor
+stderr_filter: filter_add
|
|
From: <sv...@va...> - 2008-08-04 11:41:42
|
Author: sewardj
Date: 2008-08-04 12:41:47 +0100 (Mon, 04 Aug 2008)
New Revision: 8505
Log:
Mash around syscall checking a bit (probably entirely bogusly, too)
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_main.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_main.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-02 10:06:40 UTC (rev 8504)
+++ branches/PTRCHECK/exp-ptrcheck/pc_main.c 2008-08-04 11:41:47 UTC (rev 8505)
@@ -730,11 +730,11 @@
switch (VG_(get_error_kind)(e1)) {
case LoadStoreErr:
- case SysParamErr:
tl_assert( VG_(get_error_string)(e1) == NULL );
tl_assert( VG_(get_error_string)(e2) == NULL );
return True;
+ case SysParamErr:
case ArithErr:
return True;
@@ -868,7 +868,8 @@
if (seglo == seghi) {
// freed block
- tl_assert(is_known_segment(seglo) && Seg__is_freed(seglo));
+ tl_assert(is_known_segment(seglo));
+ tl_assert(Seg__is_freed(seglo));
VG_(message)(Vg_UserMsg, "%s%s contains unaddressable byte(s)",
what, s);
VG_(pp_ExeContext)( VG_(get_error_where)(err) );
@@ -1268,10 +1269,11 @@
// be the same. Can't easily check the pointer segment matches the block
// segment, unfortunately, but the first/last check should catch most
// errors.
-static void pre_mem_access2 ( CorePart part, ThreadId tid, Char* s,
- Addr lo, Addr hi )
+static void pre_mem_access2 ( CorePart part, ThreadId tid, Char* str,
+ Addr s/*tart*/, Addr e/*nd*/ )
{
- Seg seglo, seghi;
+ Seg seglo, seghi;
+ Bool s_in_seglo, s_in_seghi, e_in_seglo, e_in_seghi;
// Don't check code being translated -- very slow, and not much point
if (Vg_CoreTranslate == part) return;
@@ -1279,23 +1281,48 @@
// Don't check the signal case -- only happens in core, no need to check
if (Vg_CoreSignal == part) return;
+ // Only expect syscalls after this point
+ if (part != Vg_CoreSysCall) {
+ VG_(printf)("part = %d\n", part);
+ VG_(tool_panic)("unknown corepart in pre_mem_access2");
+ }
+
// Check first and last bytes match
- seglo = get_mem_aseg( lo );
- seghi = get_mem_aseg( hi );
+ seglo = get_mem_aseg( s );
+ seghi = get_mem_aseg( e );
tl_assert( BOTTOM != seglo && NONPTR != seglo );
tl_assert( BOTTOM != seghi && NONPTR != seghi );
- if ( seglo != seghi || (UNKNOWN != seglo && Seg__is_freed(seglo)) ) {
- // First/last bytes don't match, or seg has been freed.
- switch (part) {
- case Vg_CoreSysCall:
- record_sysparam_error(tid, part, s, lo, hi, seglo, seghi);
- break;
+ /* so seglo and seghi are either UNKNOWN or P(..) */
+ s_in_seglo
+ = is_known_segment(seglo)
+ && Seg__a(seglo) <= s && s < Seg__a(seglo)+Seg__size(seglo);
+ s_in_seghi
+ = is_known_segment(seghi)
+ && Seg__a(seghi) <= s && s < Seg__a(seghi)+Seg__size(seghi);
+ e_in_seglo
+ = is_known_segment(seglo)
+ && Seg__a(seglo) <= e && e < Seg__a(seglo)+Seg__size(seglo);
+ e_in_seghi
+ = is_known_segment(seghi)
+ && Seg__a(seghi) <= e && e < Seg__a(seghi)+Seg__size(seghi);
- default:
- VG_(printf)("part = %d\n", part);
- VG_(tool_panic)("unknown corepart in pre_mem_access2");
+ if (is_known_segment(seglo) && is_known_segment(seghi)) {
+ /* First identify the case where start and end are in different
+ segments but s and e don't both fall in either. */
+ if ( ! ((s_in_seglo && e_in_seglo) || (s_in_seghi && e_in_seghi)) ) {
+ record_sysparam_error(tid, part, str, s, e, seglo, seghi);
}
+ /* Now we know that s and e are both in the same known segment.
+ Identify the case where that segment is freed. */
+ else if (s_in_seglo && Seg__is_freed(seglo)) {
+ tl_assert(e_in_seglo);
+ record_sysparam_error(tid, part, str, s, e, seglo, UNKNOWN);
+ }
+ else if (s_in_seghi && Seg__is_freed(seghi)) {
+ tl_assert(e_in_seghi);
+ record_sysparam_error(tid, part, str, s, e, seghi, UNKNOWN);
+ }
}
}
|
|
From: Tom H. <th...@cy...> - 2008-08-04 03:05:06
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-08-04 03:15:02 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 == 345 tests, 60 stderr failures, 1 stdout failure, 29 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-04 02:55:38
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-08-04 03:20: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 == 443 tests, 8 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-04 02:42:34
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-08-04 03:05:08 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 == 437 tests, 6 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-08-04 02:41:33
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-08-04 03:25: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 == 441 tests, 8 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == 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 == 441 tests, 9 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/mremap2 (stdout) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Aug 4 03:33:28 2008 --- new.short Mon Aug 4 03:41:40 2008 *************** *** 8,10 **** ! == 441 tests, 9 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) --- 8,10 ---- ! == 441 tests, 8 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) *************** *** 19,21 **** none/tests/mremap2 (stdout) - helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc20_verifywrap (stderr) --- 19,20 ---- |
|
From: Tom H. <th...@cy...> - 2008-08-04 02:23:41
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-08-04 03:00:02 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 == 443 tests, 31 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |