]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add a regtest for #133694 (munmapping of segments below
authorJulian Seward <jseward@acm.org>
Mon, 11 Sep 2006 20:14:21 +0000 (20:14 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 11 Sep 2006 20:14:21 +0000 (20:14 +0000)
aspacem_minAddr).  (Tom Hughes)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6050

memcheck/tests/x86/Makefile.am
memcheck/tests/x86/bug133694.c [new file with mode: 0644]
memcheck/tests/x86/bug133694.stderr.exp [new file with mode: 0644]
memcheck/tests/x86/bug133694.stdout.exp [new file with mode: 0644]
memcheck/tests/x86/bug133694.vgtest [new file with mode: 0644]

index 70fe921e8a59ee978ad114a9c2391ee90be111ba..171d4fceb88d2dc42713e05e1b1cb08f053f54af 100644 (file)
@@ -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 (file)
index 0000000..1bc9b14
--- /dev/null
@@ -0,0 +1,35 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/mman.h>
+
+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 (file)
index 0000000..e69de29
diff --git a/memcheck/tests/x86/bug133694.stdout.exp b/memcheck/tests/x86/bug133694.stdout.exp
new file mode 100644 (file)
index 0000000..2e9ba47
--- /dev/null
@@ -0,0 +1 @@
+success
diff --git a/memcheck/tests/x86/bug133694.vgtest b/memcheck/tests/x86/bug133694.vgtest
new file mode 100644 (file)
index 0000000..afd234e
--- /dev/null
@@ -0,0 +1,2 @@
+prog: bug133694
+vgopts: -q