diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2011-05-12 16:38:56 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2011-05-12 16:38:56 +0000 |
commit | 90794f59b4c9e3606b84e086697c2525c6043f3e (patch) | |
tree | 834ad4a0dfae392e91100e33fd9989793be07d3f /exp-sgcheck/tests | |
parent | d8c12f178d9d03b934ce10d6fcb45c27503889dc (diff) |
Delete exp-sgcheck tests that are redundant following the removal of the
heap checking facilities.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11749 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'exp-sgcheck/tests')
58 files changed, 11 insertions, 1446 deletions
diff --git a/exp-sgcheck/tests/Makefile.am b/exp-sgcheck/tests/Makefile.am index cc2bc3af..245fa4a3 100644 --- a/exp-sgcheck/tests/Makefile.am +++ b/exp-sgcheck/tests/Makefile.am @@ -12,70 +12,45 @@ EXTRA_DIST = \ arith_include1.c arith_include2.c \ bad_percentify.vgtest bad_percentify.c \ bad_percentify.stdout.exp bad_percentify.stderr.exp-glibc28-amd64 \ - base.vgtest \ - base.stderr.exp-glibc25-amd64 base.stderr.exp-glibc25-x86 \ - ccc.vgtest ccc.stderr.exp-glibc25-amd64 \ - ccc.stderr.exp-glibc27-x86 ccc.stderr.exp-glibc28-amd64 \ cmp.vgtest-disabled cmp.stderr.exp \ globalerr.vgtest globalerr.stdout.exp \ globalerr.stderr.exp-glibc28-amd64 \ - fp.vgtest fp.stderr.exp \ hackedbz2.vgtest hackedbz2.stdout.exp \ hackedbz2.stderr.exp-glibc28-amd64 \ - hp_bounds.vgtest hp_bounds.stderr.exp \ - hp_dangle.vgtest hp_dangle.stderr.exp \ hsg.vgtest hsg.stdout.exp hsg.stderr.exp \ idiv.vgtest-disabled idiv.stderr.exp \ imul.vgtest-disabled imul.stderr.exp \ - justify.vgtest justify.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-glibc25-x86 \ - partial_bad.stderr.exp-glibc25-amd64 \ - partial_good.vgtest \ - partial_good.stderr.exp-glibc25-x86 \ - partial_good.stderr.exp-glibc25-amd64 \ preen_invars.vgtest preen_invars.stdout.exp \ preen_invars.stderr.exp-glibc28-amd64 \ - pth_create.vgtest pth_create.stderr.exp \ - pth_specific.vgtest pth_specific.stderr.exp \ - realloc.vgtest \ - realloc.stderr.exp-glibc25-x86 realloc.stderr.exp-glibc25-amd64 \ sh_script.vgtest-disabled sh_script.stderr.exp \ stackerr.vgtest stackerr.stdout.exp \ stackerr.stderr.exp-glibc28-amd64 stackerr.stderr.exp-glibc27-x86 \ - strcpy.vgtest strcpy.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-disabled suppgen.stderr.exp suppgen.stdin \ syscall.vgtest-disabled syscall.stderr.exp \ - tricky.vgtest tricky.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 + xor.vgtest-disabled xor.stderr.exp check_PROGRAMS = \ - add and arith bad_percentify base cmp fp \ + add and arith bad_percentify cmp \ globalerr hackedbz2 \ - hp_bounds hp_dangle hsg idiv imul \ - justify mm not neg or partial \ + hsg idiv imul \ + mm not neg or \ preen_invars preen_invars_so.so \ - pth_create pth_specific realloc \ stackerr \ - strcpy strlen sub supp syscall tricky unaligned xor zero + strlen sub syscall xor # DDD: not sure if these ones should work on Darwin or not... if not, should # be moved into x86-linux/. -if ! VGCONF_OS_IS_DARWIN - check_PROGRAMS += \ - ccc -endif +#if ! VGCONF_OS_IS_DARWIN +# check_PROGRAMS += \ +# ccc +#endif AM_CFLAGS += $(AM_FLAG_M3264_PRI) @@ -86,11 +61,10 @@ AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) hackedbz2_CFLAGS = $(AM_CFLAGS) -O -Wno-inline # C ones -pth_create_LDADD = -lpthread -pth_specific_LDADD = -lpthread +#pth_create_LDADD = -lpthread # C++ ones -ccc_SOURCES = ccc.cpp +#ccc_SOURCES = ccc.cpp # Build shared object for preen_invars preen_invars_DEPENDENCIES = preen_invars_so.so diff --git a/exp-sgcheck/tests/base.c b/exp-sgcheck/tests/base.c deleted file mode 100644 index e24b57b1..00000000 --- a/exp-sgcheck/tests/base.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <signal.h> -#include <setjmp.h> -#include <assert.h> - -#include "arith_include1.c" - -int main(void) -{ - #include "arith_include2.c" - - // Base ======================================================== - b(p, p); // ok - - b(up, u); // ok - - b(un, u); // undet - - b(n, n); // det - - b(nn, n); // det - - return 0; -} diff --git a/exp-sgcheck/tests/base.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/base.stderr.exp-glibc25-amd64 deleted file mode 100644 index ebe053b1..00000000 --- a/exp-sgcheck/tests/base.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,36 +0,0 @@ - -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) diff --git a/exp-sgcheck/tests/base.stderr.exp-glibc25-x86 b/exp-sgcheck/tests/base.stderr.exp-glibc25-x86 deleted file mode 100644 index a525dc99..00000000 --- a/exp-sgcheck/tests/base.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,36 +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) diff --git a/exp-sgcheck/tests/base.vgtest b/exp-sgcheck/tests/base.vgtest deleted file mode 100644 index 7aa99d00..00000000 --- a/exp-sgcheck/tests/base.vgtest +++ /dev/null @@ -1,3 +0,0 @@ -prereq: ./is_arch_supported -prog: base -stderr_filter: filter_add diff --git a/exp-sgcheck/tests/ccc.cpp b/exp-sgcheck/tests/ccc.cpp deleted file mode 100644 index abd3119a..00000000 --- a/exp-sgcheck/tests/ccc.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#define _XOPEN_SOURCE 600 // to enable posix_memalign() -#include <assert.h> -#include <stdlib.h> -#include <malloc.h> // for memalign() -static __attribute__((noinline)) void bar ( int ); /* fwds */ -int main(void) { - int 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; 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 - 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; -} - -/* 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"); -} diff --git a/exp-sgcheck/tests/ccc.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/ccc.stderr.exp-glibc25-amd64 deleted file mode 100644 index 37cbad37..00000000 --- a/exp-sgcheck/tests/ccc.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,46 +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... (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[]... (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) diff --git a/exp-sgcheck/tests/ccc.stderr.exp-glibc27-x86 b/exp-sgcheck/tests/ccc.stderr.exp-glibc27-x86 deleted file mode 100644 index cff83e99..00000000 --- a/exp-sgcheck/tests/ccc.stderr.exp-glibc27-x86 +++ /dev/null @@ -1,46 +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... (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[]... (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:10) - -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........: calloc (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:11) - -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........: main (ccc.cpp:12) - -Invalid read of size 4 - at 0x........: main (ccc.cpp:25) - 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) diff --git a/exp-sgcheck/tests/ccc.stderr.exp-glibc28-amd64 b/exp-sgcheck/tests/ccc.stderr.exp-glibc28-amd64 deleted file mode 100644 index 0e35bcbf..00000000 --- a/exp-sgcheck/tests/ccc.stderr.exp-glibc28-amd64 +++ /dev/null @@ -1,46 +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... (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[]... (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:10) - -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........: calloc (vg_replace_malloc.c:...) - by 0x........: main (ccc.cpp:11) - -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........: main (ccc.cpp:12) - -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........: 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) diff --git a/exp-sgcheck/tests/ccc.vgtest b/exp-sgcheck/tests/ccc.vgtest deleted file mode 100644 index d6d7ae16..00000000 --- a/exp-sgcheck/tests/ccc.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: ccc diff --git a/exp-sgcheck/tests/fp.c b/exp-sgcheck/tests/fp.c deleted file mode 100644 index 8bcf1ad6..00000000 --- a/exp-sgcheck/tests/fp.c +++ /dev/null @@ -1,17 +0,0 @@ - -#include <stdlib.h> - -int main ( void ) -{ - double* dp = malloc(sizeof(double)); - float* fp = malloc(sizeof(float)); - - *dp += 3.0; // ok - *fp += 30.0; // ok - free(dp); - free(fp); - *dp += 3.0; // bad, been freed - *fp += 30.0; // bad, been freed - - return 0; -} diff --git a/exp-sgcheck/tests/fp.stderr.exp b/exp-sgcheck/tests/fp.stderr.exp deleted file mode 100644 index 11e99884..00000000 --- a/exp-sgcheck/tests/fp.stderr.exp +++ /dev/null @@ -1,31 +0,0 @@ - -Invalid read of size 8 - at 0x........: main (fp.c:13) - Address 0x........ is 0 bytes inside the accessing pointer's - once-legitimate range, a block of size 8 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: main (fp.c:11) - -Invalid write of size 8 - at 0x........: main (fp.c:13) - Address 0x........ is 0 bytes inside the accessing pointer's - once-legitimate range, a block of size 8 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: main (fp.c:11) - -Invalid read of size 4 - at 0x........: main (fp.c:14) - 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 (fp.c:12) - -Invalid write of size 4 - at 0x........: main (fp.c:14) - 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 (fp.c:12) - - -ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/fp.vgtest b/exp-sgcheck/tests/fp.vgtest deleted file mode 100644 index bd93cf80..00000000 --- a/exp-sgcheck/tests/fp.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: fp diff --git a/exp-sgcheck/tests/hp_bounds.c b/exp-sgcheck/tests/hp_bounds.c deleted file mode 100644 index e456cabe..00000000 --- a/exp-sgcheck/tests/hp_bounds.c +++ /dev/null @@ -1,13 +0,0 @@ -#include <stdlib.h> - -int main(void) -{ - int y __attribute__((unused)); - int* x = malloc(sizeof(int) * 100); - - y = x[95]; // ok - y = x[100]; // overrun - y = x[-1]; // underrun - - return 0; -} diff --git a/exp-sgcheck/tests/hp_bounds.stderr.exp b/exp-sgcheck/tests/hp_bounds.stderr.exp deleted file mode 100644 index 28121b82..00000000 --- a/exp-sgcheck/tests/hp_bounds.stderr.exp +++ /dev/null @@ -1,17 +0,0 @@ - -Invalid read of size 4 - at 0x........: main (hp_bounds.c:9) - Address 0x........ is 0 bytes after the accessing pointer's - legitimate range, a block of size 400 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (hp_bounds.c:6) - -Invalid read of size 4 - at 0x........: main (hp_bounds.c:10) - Address 0x........ is 4 bytes before the accessing pointer's - legitimate range, a block of size 400 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (hp_bounds.c:6) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/hp_bounds.vgtest b/exp-sgcheck/tests/hp_bounds.vgtest deleted file mode 100644 index 96a983e5..00000000 --- a/exp-sgcheck/tests/hp_bounds.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: hp_bounds diff --git a/exp-sgcheck/tests/hp_dangle.c b/exp-sgcheck/tests/hp_dangle.c deleted file mode 100644 index 31470df4..00000000 --- a/exp-sgcheck/tests/hp_dangle.c +++ /dev/null @@ -1,21 +0,0 @@ - -#include <stdlib.h> - -int* mk_dangle(void) -{ - int* x = malloc(400); - free(x); - - return x; -} - -int main(void) -{ - int y __attribute__((unused)); - int* x = mk_dangle(); - - y = x[5]; - y = x[-1]; - - return 0; -} diff --git a/exp-sgcheck/tests/hp_dangle.stderr.exp b/exp-sgcheck/tests/hp_dangle.stderr.exp deleted file mode 100644 index 21420276..00000000 --- a/exp-sgcheck/tests/hp_dangle.stderr.exp +++ /dev/null @@ -1,19 +0,0 @@ - -Invalid read of size 4 - at 0x........: main (hp_dangle.c:17) - Address 0x........ is 20 bytes inside the accessing pointer's - once-legitimate range, a block of size 400 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: mk_dangle (hp_dangle.c:7) - by 0x........: main (hp_dangle.c:15) - -Doubly-invalid read of size 4 - at 0x........: main (hp_dangle.c:18) - Address 0x........ is 4 bytes before the accessing pointer's - once-legitimate range, a block of size 400 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: mk_dangle (hp_dangle.c:7) - by 0x........: main (hp_dangle.c:15) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/hp_dangle.vgtest b/exp-sgcheck/tests/hp_dangle.vgtest deleted file mode 100644 index 42cbe6c5..00000000 --- a/exp-sgcheck/tests/hp_dangle.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: hp_dangle diff --git a/exp-sgcheck/tests/justify.c b/exp-sgcheck/tests/justify.c deleted file mode 100644 index 366c78ba..00000000 --- a/exp-sgcheck/tests/justify.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <stdlib.h> -#include <assert.h> - -// This is an example of an error found by Annelid, but not found by -// Memcheck -- because the wild read goes past the redzones of the pointer's -// block. -// -// Nb: for Memcheck to not spot this, relies on it putting the 2nd block in -// memory after the 1st block. - -int main ( void ) -{ - char c __attribute__((unused)); - char *c0, *c1; - - c0 = malloc(10000); - c1 = malloc(10000); - assert(c0 && c1); - - c = c0[15000]; - - return 0; -} diff --git a/exp-sgcheck/tests/justify.stderr.exp b/exp-sgcheck/tests/justify.stderr.exp deleted file mode 100644 index 0aede4bd..00000000 --- a/exp-sgcheck/tests/justify.stderr.exp +++ /dev/null @@ -1,10 +0,0 @@ - -Invalid read of size 1 - at 0x........: main (justify.c:20) - Address 0x........ is 5000 bytes after the accessing pointer's - legitimate range, a block of size 10000 alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (justify.c:16) - - -ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/justify.vgtest b/exp-sgcheck/tests/justify.vgtest deleted file mode 100644 index 3052c7e6..00000000 --- a/exp-sgcheck/tests/justify.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: justify diff --git a/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-amd64 deleted file mode 100644 index 58888f93..00000000 --- a/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,108 +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 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) diff --git a/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-x86 b/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-x86 deleted file mode 100644 index c365a2b2..00000000 --- a/exp-sgcheck/tests/partial_bad.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,108 +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) diff --git a/exp-sgcheck/tests/partial_bad.vgtest b/exp-sgcheck/tests/partial_bad.vgtest deleted file mode 100644 index 094946b6..00000000 --- a/exp-sgcheck/tests/partial_bad.vgtest +++ /dev/null @@ -1,3 +0,0 @@ -prereq: ./is_arch_supported -prog: partial -vgopts: --partial-loads-ok=no diff --git a/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-amd64 deleted file mode 100644 index 3b72c0e6..00000000 --- a/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,94 +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 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) diff --git a/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-x86 b/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-x86 deleted file mode 100644 index 0f9bd892..00000000 --- a/exp-sgcheck/tests/partial_good.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,73 +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) diff --git a/exp-sgcheck/tests/partial_good.vgtest b/exp-sgcheck/tests/partial_good.vgtest deleted file mode 100644 index ea7d2855..00000000 --- a/exp-sgcheck/tests/partial_good.vgtest +++ /dev/null @@ -1,3 +0,0 @@ -prereq: ./is_arch_supported -prog: partial -vgopts: --partial-loads-ok=yes diff --git a/exp-sgcheck/tests/pth_create.c b/exp-sgcheck/tests/pth_create.c deleted file mode 100644 index 2c2d5bb3..00000000 --- a/exp-sgcheck/tests/pth_create.c +++ /dev/null @@ -1,22 +0,0 @@ - -#include <pthread.h> -#include <stdlib.h> - - - -// This demonstrates an error for a pre_mem_{read,write} event that comes -// from the core, rather than a syscall (ie. part == Vg_CorePart instead of -// part == Vg_CoreSyscall). - - -int main(void) -{ - pthread_key_t* key = malloc(sizeof(pthread_key_t)); - pthread_key_t* key2 = malloc(sizeof(pthread_key_t)); - - pthread_key_create ( (pthread_key_t*)((long)key + 1), NULL ); - free(key2); - pthread_key_create ( key2 , NULL ); - - return 0; -} diff --git a/exp-sgcheck/tests/pth_create.stderr.exp b/exp-sgcheck/tests/pth_create.stderr.exp deleted file mode 100644 index 0fab75fa..00000000 --- a/exp-sgcheck/tests/pth_create.stderr.exp +++ /dev/null @@ -1,19 +0,0 @@ - -Invalid write of size 4 - at 0x........: pthread_key_create (in /...libpthread...) - by 0x........: main (pth_create.c:17) - 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) - -Invalid write of size 4 - at 0x........: pthread_key_create (in /...libpthread...) - by 0x........: main (pth_create.c:19) - 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) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/pth_create.vgtest b/exp-sgcheck/tests/pth_create.vgtest deleted file mode 100644 index 91fa9b13..00000000 --- a/exp-sgcheck/tests/pth_create.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: pth_create diff --git a/exp-sgcheck/tests/pth_specific.c b/exp-sgcheck/tests/pth_specific.c deleted file mode 100644 index 9b8ca919..00000000 --- a/exp-sgcheck/tests/pth_specific.c +++ /dev/null @@ -1,34 +0,0 @@ -#include <pthread.h> -#include <assert.h> -#include <stdlib.h> - -// This shows that putting a segment pointer into a thread-specific data -// area and then getting it out again doesn't lose info -- even though the -// key allocation/getting is done on the real CPU where the skin can't see, -// the get/set of the info is done using that key on the simd CPU where it -// can see, so everything works out fine. - -int main(void) -{ - pthread_key_t key; - char *x, *z; - char y __attribute__((unused)); - - x = malloc(100); - - y = x[-1]; // error - x[1] = 'z'; - - assert( 0 == pthread_key_create ( &key, NULL ) ); - assert( 0 == pthread_setspecific( key, x ) ); - z = (char*)pthread_getspecific( key ); - assert( 0 != z ); - - y = z[-1]; // error - - // ensure the key went in and out correctly - assert(z == x); - assert(z[1] == 'z'); - - return 0; -} diff --git a/exp-sgcheck/tests/pth_specific.stderr.exp b/exp-sgcheck/tests/pth_specific.stderr.exp deleted file mode 100644 index 1b5cef41..00000000 --- a/exp-sgcheck/tests/pth_specific.stderr.exp +++ /dev/null @@ -1,17 +0,0 @@ - -Invalid read of size 1 - at 0x........: main (pth_specific.c:19) - 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) - -Invalid read of size 1 - at 0x........: main (pth_specific.c:27) - 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) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/pth_specific.vgtest b/exp-sgcheck/tests/pth_specific.vgtest deleted file mode 100644 index 5e6789b6..00000000 --- a/exp-sgcheck/tests/pth_specific.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: pth_specific diff --git a/exp-sgcheck/tests/realloc.c b/exp-sgcheck/tests/realloc.c deleted file mode 100644 index 8884664e..00000000 --- a/exp-sgcheck/tests/realloc.c +++ /dev/null @@ -1,46 +0,0 @@ - -#include <stdlib.h> - -int main(void) -{ - int i __attribute__((unused)); - int* y __attribute__((unused)); - int** x = malloc(sizeof(int*) * 100); - int* x2 = malloc(sizeof(int) * 100); - void* sink __attribute__((unused)); - x[0] = x2; // this is to check the pointerness is copied across ok - x[49] = x2; // this is to check the pointerness is copied across ok - - i = *x[0]; - i = *x[49]; - - x = realloc(x, sizeof(int*)*50); // smaller - y = x[0]; // ok - y = x[49]; // ok - y = x[-1]; // bad - y = x[50]; // bad - i = *x[0]; // ok - i = *x[49]; // ok - - x = realloc(x, sizeof(int*)*50); // same size - y = x[0]; // ok - y = x[49]; // ok - y = x[-1]; // bad - y = x[50]; // bad - i = *x[0]; // ok - i = *x[49]; // ok - - x = realloc(x, sizeof(int*)*100); // bigger - y = x[0]; // ok - y = x[49]; // ok - y = x[50]; // ok - y = x[99]; // ok - y = x[-1]; // bad - y = x[100]; // bad - i = *x[0]; // ok - i = *x[49]; // ok - - sink = realloc((void*)0x99, 10); // fails - - return 0; -} diff --git a/exp-sgcheck/tests/realloc.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/realloc.stderr.exp-glibc25-amd64 deleted file mode 100644 index 99c551b7..00000000 --- a/exp-sgcheck/tests/realloc.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,45 +0,0 @@ - -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) diff --git a/exp-sgcheck/tests/realloc.stderr.exp-glibc25-x86 b/exp-sgcheck/tests/realloc.stderr.exp-glibc25-x86 deleted file mode 100644 index 265f48cc..00000000 --- a/exp-sgcheck/tests/realloc.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,45 +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) diff --git a/exp-sgcheck/tests/realloc.vgtest b/exp-sgcheck/tests/realloc.vgtest deleted file mode 100644 index 1cc74ede..00000000 --- a/exp-sgcheck/tests/realloc.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: realloc diff --git a/exp-sgcheck/tests/strcpy.c b/exp-sgcheck/tests/strcpy.c deleted file mode 100644 index 83522975..00000000 --- a/exp-sgcheck/tests/strcpy.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <stdlib.h> -#include <string.h> - -// This shows the case whereby subtraction between two pointers from -// different segments can be used legitimately. - -// dest: stack, src: heap -char* my_strcpy (char* dest, const char* src) -{ - char c, *s = (char *) src; - long off = dest - s; - off = off - 1; - do { - c = *s++; - s[off] = c; // s + off == dest - } while (c != '\0'); - return dest; -} - -int main(void) -{ - char* h = "hello, world"; - char* p1 = strdup(h); - char* p2 = strdup(h); - char u1[13]; - char u2[13]; - - // All these are legit - 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) // 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) - - my_strcpy(u1, p1); - my_strcpy(u2, u1); - - return 0; -} diff --git a/exp-sgcheck/tests/strcpy.stderr.exp b/exp-sgcheck/tests/strcpy.stderr.exp deleted file mode 100644 index d18786f8..00000000 --- a/exp-sgcheck/tests/strcpy.stderr.exp +++ /dev/null @@ -1,3 +0,0 @@ - - -ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/strcpy.vgtest b/exp-sgcheck/tests/strcpy.vgtest deleted file mode 100644 index d686e9f3..00000000 --- a/exp-sgcheck/tests/strcpy.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: strcpy diff --git a/exp-sgcheck/tests/supp.c b/exp-sgcheck/tests/supp.c deleted file mode 100644 index 97f77883..00000000 --- a/exp-sgcheck/tests/supp.c +++ /dev/null @@ -1,19 +0,0 @@ -#include <string.h> -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <sys/time.h> - -int main(void) -{ - int i = 11; int fd = open("/dev/null", O_WRONLY); - char* buf = malloc(sizeof(char) * 6); - char c = buf[-1]; // LoadStoreErr - char* x = buf + (long)buf; // ArithErr - char* y = (char*)((long)buf * i); // AsmErr - write(fd, buf+3, 5); // SysParamErr - close(fd); - return x-y+c; -} diff --git a/exp-sgcheck/tests/supp.stderr.exp b/exp-sgcheck/tests/supp.stderr.exp deleted file mode 100644 index 6c091767..00000000 --- a/exp-sgcheck/tests/supp.stderr.exp +++ /dev/null @@ -1,11 +0,0 @@ - -Syscall param write(buf) is non-contiguous - at 0x........: write (in /...libc...) - by 0x........: main (supp.c:16) - First byte (0x........) is 3 bytes inside a 6-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (supp.c:12) - Last byte is not inside a known block - - -ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/supp.supp b/exp-sgcheck/tests/supp.supp deleted file mode 100644 index 9d3300a7..00000000 --- a/exp-sgcheck/tests/supp.supp +++ /dev/null @@ -1,18 +0,0 @@ -{ - first-in-supp.supp - exp-ptrcheck:Heap - fun:main -} -{ - second-in-supp.supp - exp-ptrcheck:Arith - fun:main -} -{ - third-in-supp.supp - exp-ptrcheck:SysParam - write(buf) - fun:__GI___libc_write - fun:__libc_start_main - obj:*/annelid/tests/supp -} diff --git a/exp-sgcheck/tests/supp.vgtest b/exp-sgcheck/tests/supp.vgtest deleted file mode 100644 index b991f572..00000000 --- a/exp-sgcheck/tests/supp.vgtest +++ /dev/null @@ -1,3 +0,0 @@ -prereq: ./is_arch_supported -vgopts: --suppressions=supp.supp -prog: supp diff --git a/exp-sgcheck/tests/suppgen.stderr.exp b/exp-sgcheck/tests/suppgen.stderr.exp deleted file mode 100644 index 879fb2bf..00000000 --- a/exp-sgcheck/tests/suppgen.stderr.exp +++ /dev/null @@ -1,61 +0,0 @@ - -Invalid read of size 1 - at 0x........: main (supp.c:13) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... -Address 0x........ is 1 bytes before the accessing pointer's - legitimate range, the 6-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (supp.c:12) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... - ----- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- { - <insert a suppression name here> - Annelid:LoadStore - fun:main - fun:__libc_start_main - obj:*/annelid/tests/supp -} - -Invalid ADD - at 0x........: main (supp.c:14) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... -Both args derived from address 0x........ of 6-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (supp.c:12) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... - ----- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- { - <insert a suppression name here> - Annelid:Arith - fun:main - fun:__libc_start_main - obj:*/annelid/tests/supp -} -Warning: invalid file descriptor -1 in syscall write() - -Syscall param write(buf) is non-contiguous - at 0x........: __libc_write (...libc...) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... -First byte (0x........) is 3 bytes within a 6-byte block alloc'd - at 0x........: malloc (vg_replace_malloc.c:...) - by 0x........: main (supp.c:12) - by 0x........: __libc_start_main (...libc...) - by 0x........: ... -Last byte is not within a known block - ----- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- { - <insert a suppression name here> - Annelid:SysParam - write(buf) - fun:__GI___libc_write - fun:__libc_start_main - obj:*/annelid/tests/supp -} - - -ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/suppgen.stdin b/exp-sgcheck/tests/suppgen.stdin deleted file mode 100644 index b469f970..00000000 --- a/exp-sgcheck/tests/suppgen.stdin +++ /dev/null @@ -1,5 +0,0 @@ -y -y -y -y - diff --git a/exp-sgcheck/tests/suppgen.vgtest-disabled b/exp-sgcheck/tests/suppgen.vgtest-disabled deleted file mode 100644 index d606f2a8..00000000 --- a/exp-sgcheck/tests/suppgen.vgtest-disabled +++ /dev/null @@ -1,4 +0,0 @@ -prog: supp -vgopts: --gen-suppressions=yes -args: < suppgen.stdin -stderr_filter: filter_suppgen diff --git a/exp-sgcheck/tests/tricky.c b/exp-sgcheck/tests/tricky.c deleted file mode 100644 index 624f9e4a..00000000 --- a/exp-sgcheck/tests/tricky.c +++ /dev/null @@ -1,20 +0,0 @@ - -#include <stdlib.h> - -int main(void) -{ - // When I had n-u --> u, this gave a false positive... can happen because - // p+up can give n if you are (un)lucky, because the result is close enough - // to zero. - int u[20]; - int* p = malloc(sizeof(int) * 100); - int* n; - int* x; - - p[0] = 0; // ok - n = (int*)((long)p + (long)u); // result is n, because near zero! - x = (int*)((long)n - (long)u); // x == p - x[0] = 0; // ok, originally caused false pos. - - return 0; -} diff --git a/exp-sgcheck/tests/tricky.stderr.exp b/exp-sgcheck/tests/tricky.stderr.exp deleted file mode 100644 index d18786f8..00000000 --- a/exp-sgcheck/tests/tricky.stderr.exp +++ /dev/null @@ -1,3 +0,0 @@ - - -ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/tricky.vgtest b/exp-sgcheck/tests/tricky.vgtest deleted file mode 100644 index 8ebfc09f..00000000 --- a/exp-sgcheck/tests/tricky.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: tricky diff --git a/exp-sgcheck/tests/unaligned.c b/exp-sgcheck/tests/unaligned.c deleted file mode 100644 index 6c7ba39d..00000000 --- a/exp-sgcheck/tests/unaligned.c +++ /dev/null @@ -1,51 +0,0 @@ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -int main ( void ) -{ - char* x = strdup("hello"); - char c __attribute__((unused)); - char c0[8], c1[8], c2[8], c3[8], c4[8]; - - // Each of these pointers has a different alignment - char** p0 = (char**)&c0[0]; char** p1 = (char**)&c1[1]; - char** p2 = (char**)&c2[2]; char** p3 = (char**)&c3[3]; - char** p4 = (char**)&c4[4]; - *p0 = x; *p1 = x; *p2 = x; - *p3 = x; *p4 = x; - - // These 10 are ok - c = (*p0)[0]; - c = (*p1)[0]; - c = (*p2)[0]; - c = (*p3)[0]; - c = (*p4)[0]; - - c = (*p0)[5]; - c = (*p1)[5]; - c = (*p2)[5]; - c = (*p3)[5]; - c = (*p4)[5]; - - // These 10 are bad - c = (*p0)[-1]; // always word aligned, so det - c = (*p1)[-1]; // undet - c = (*p2)[-1]; // undet - c = (*p3)[-1]; // undet - c = (*p4)[-1]; // undet on 64-bit since not 64-bit aligned - - c = (*p0)[6]; // always word aligned, so det - c = (*p1)[6]; // undet - c = (*p2)[6]; // undet - c = (*p3)[6]; // undet - 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 :-( */ diff --git a/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-amd64 b/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-amd64 deleted file mode 100644 index 47696801..00000000 --- a/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-amd64 +++ /dev/null @@ -1,19 +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: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) diff --git a/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-x86 b/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-x86 deleted file mode 100644 index 55002a23..00000000 --- a/exp-sgcheck/tests/unaligned.stderr.exp-glibc25-x86 +++ /dev/null @@ -1,35 +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) diff --git a/exp-sgcheck/tests/unaligned.vgtest b/exp-sgcheck/tests/unaligned.vgtest deleted file mode 100644 index 240dc60a..00000000 --- a/exp-sgcheck/tests/unaligned.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: unaligned diff --git a/exp-sgcheck/tests/zero.c b/exp-sgcheck/tests/zero.c deleted file mode 100644 index 7077bb44..00000000 --- a/exp-sgcheck/tests/zero.c +++ /dev/null @@ -1,24 +0,0 @@ - - -#include <stdlib.h> -#include <assert.h> - -int main ( void ) -{ - char c __attribute__((unused)), *c0 = malloc(0), *c1; - - c = *c0; // bad - - c0 = realloc(c0, 10); - assert(c0); - - c = *c0; // ok - - c1 = c0; - c0 = realloc(c0, 0); - assert(!c0); - - c = *c1; // bad, dangling - - return 0; -} diff --git a/exp-sgcheck/tests/zero.stderr.exp b/exp-sgcheck/tests/zero.stderr.exp deleted file mode 100644 index 0da65fef..00000000 --- a/exp-sgcheck/tests/zero.stderr.exp +++ /dev/null @@ -1,18 +0,0 @@ - -Invalid read of size 1 - at 0x........: main (zero.c:10) - 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 (zero.c:8) - -Invalid read of size 1 - at 0x........: main (zero.c:21) - Address 0x........ is 0 bytes inside the accessing pointer's - once-legitimate range, a block of size 10 free'd - at 0x........: free (vg_replace_malloc.c:...) - by 0x........: realloc (vg_replace_malloc.c:...) - by 0x........: main (zero.c:18) - - -ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) diff --git a/exp-sgcheck/tests/zero.vgtest b/exp-sgcheck/tests/zero.vgtest deleted file mode 100644 index 3d6333c4..00000000 --- a/exp-sgcheck/tests/zero.vgtest +++ /dev/null @@ -1,2 +0,0 @@ -prereq: ./is_arch_supported -prog: zero |