From: Julian Seward Date: Mon, 11 Sep 2006 20:14:21 +0000 (+0000) Subject: Add a regtest for #133694 (munmapping of segments below X-Git-Tag: svn/VALGRIND_3_3_0~682 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c4ca351853aaae2f7f6c77330126f7d711ebd38;p=thirdparty%2Fvalgrind.git Add a regtest for #133694 (munmapping of segments below aspacem_minAddr). (Tom Hughes) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6050 --- diff --git a/memcheck/tests/x86/Makefile.am b/memcheck/tests/x86/Makefile.am index 70fe921e8a..171d4fceb8 100644 --- a/memcheck/tests/x86/Makefile.am +++ b/memcheck/tests/x86/Makefile.am @@ -5,6 +5,7 @@ noinst_HEADERS = scalar.h INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext insn_sse insn_sse2 EXTRA_DIST = $(noinst_SCRIPTS) \ + bug133694.vgtest bug133694.stderr.exp bug133694.stdout.exp \ fpeflags.stderr.exp fpeflags.vgtest \ $(addsuffix .stderr.exp,$(INSN_TESTS)) \ $(addsuffix .stdout.exp,$(INSN_TESTS)) \ @@ -25,6 +26,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \ fprem.stderr.exp fprem.stdout.exp fprem.vgtest check_PROGRAMS = \ + bug133694 \ scalar_exit_group scalar_fork scalar_supp scalar_vfork \ fpeflags pushfpopf pushpopmem scalar sse_memory tronical \ more_x86_fp fprem diff --git a/memcheck/tests/x86/bug133694.c b/memcheck/tests/x86/bug133694.c new file mode 100644 index 0000000000..1bc9b14ac8 --- /dev/null +++ b/memcheck/tests/x86/bug133694.c @@ -0,0 +1,35 @@ +#include +#include +#include + +int main(int argc, char **argv) +{ + void *a1; + + if ((a1 = mmap((void *)0x200000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0)) == MAP_FAILED) + { + perror("mmap1"); + exit(1); + } + + if (munmap(a1, 4096) < 0) + { + perror("munmap1"); + exit(1); + } + + if (mmap((void *)0x100000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) == MAP_FAILED) + { + perror("mmap2"); + exit(1); + } + + if (mmap((void *)0x100000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) == MAP_FAILED) + { + perror("mmap2"); + exit(1); + } + + printf("success\n"); + exit(0); +} diff --git a/memcheck/tests/x86/bug133694.stderr.exp b/memcheck/tests/x86/bug133694.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/x86/bug133694.stdout.exp b/memcheck/tests/x86/bug133694.stdout.exp new file mode 100644 index 0000000000..2e9ba477f8 --- /dev/null +++ b/memcheck/tests/x86/bug133694.stdout.exp @@ -0,0 +1 @@ +success diff --git a/memcheck/tests/x86/bug133694.vgtest b/memcheck/tests/x86/bug133694.vgtest new file mode 100644 index 0000000000..afd234ef71 --- /dev/null +++ b/memcheck/tests/x86/bug133694.vgtest @@ -0,0 +1,2 @@ +prog: bug133694 +vgopts: -q