From 7cf42600a1a06434b9d9ec775b3290cc8dc55980 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Thu, 15 Nov 2007 22:33:32 +0000 Subject: [PATCH] Add a regression test for #152022. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7159 --- memcheck/tests/x86/Makefile.am | 2 ++ memcheck/tests/x86/bug152022.c | 22 ++++++++++++++++++++++ memcheck/tests/x86/bug152022.stderr.exp | 7 +++++++ memcheck/tests/x86/bug152022.stdout.exp | 0 memcheck/tests/x86/bug152022.vgtest | 1 + 5 files changed, 32 insertions(+) create mode 100644 memcheck/tests/x86/bug152022.c create mode 100644 memcheck/tests/x86/bug152022.stderr.exp create mode 100644 memcheck/tests/x86/bug152022.stdout.exp create mode 100644 memcheck/tests/x86/bug152022.vgtest diff --git a/memcheck/tests/x86/Makefile.am b/memcheck/tests/x86/Makefile.am index 9082d16a42..36a6a3990b 100644 --- a/memcheck/tests/x86/Makefile.am +++ b/memcheck/tests/x86/Makefile.am @@ -6,6 +6,7 @@ INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext insn_sse insn_ss EXTRA_DIST = $(noinst_SCRIPTS) \ bug133694.vgtest bug133694.stderr.exp bug133694.stdout.exp \ + bug152022.vgtest bug152022.stderr.exp bug152022.stdout.exp \ espindola2.vgtest espindola2.stderr.exp \ fpeflags.stderr.exp fpeflags.vgtest \ $(addsuffix .stderr.exp,$(INSN_TESTS)) \ @@ -31,6 +32,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \ check_PROGRAMS = \ bug133694 \ + bug152022 \ espindola2 \ int3-x86 \ scalar_exit_group scalar_fork scalar_supp scalar_vfork \ diff --git a/memcheck/tests/x86/bug152022.c b/memcheck/tests/x86/bug152022.c new file mode 100644 index 0000000000..43cd83496b --- /dev/null +++ b/memcheck/tests/x86/bug152022.c @@ -0,0 +1,22 @@ + +/* As discussed on valgrind-users in the thread + http://comments.gmane.org/gmane.comp.debugging.valgrind/7535 + valgrinding Wine running a large win32 app (Picasa) fails with the message + + vex: priv/host-x86/isel.c:510 (doHelperCall): Assertion + `typeOfIRExpr(env->type_env, args[i]) == Ity_I32' failed. + + See http://bugs.kde.org/show_bug.cgi?id=152022 + +This little fragment used to cause Memcheck to assert, so if the +program runs to completion without dying, the test is passed. +*/ + + +int main ( void ) { + __asm__ __volatile__( "subw $0x28, %%sp\n" + "movl $0, 0(%%esp)\n" + "addw $0x28, %%sp" : : : "memory" ); + return 0; +} + diff --git a/memcheck/tests/x86/bug152022.stderr.exp b/memcheck/tests/x86/bug152022.stderr.exp new file mode 100644 index 0000000000..c4aa6f04fe --- /dev/null +++ b/memcheck/tests/x86/bug152022.stderr.exp @@ -0,0 +1,7 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) +malloc/free: in use at exit: 0 bytes in 0 blocks. +malloc/free: 0 allocs, 0 frees, 0 bytes allocated. +For a detailed leak analysis, rerun with: --leak-check=yes +For counts of detected errors, rerun with: -v diff --git a/memcheck/tests/x86/bug152022.stdout.exp b/memcheck/tests/x86/bug152022.stdout.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/x86/bug152022.vgtest b/memcheck/tests/x86/bug152022.vgtest new file mode 100644 index 0000000000..4a321ab64f --- /dev/null +++ b/memcheck/tests/x86/bug152022.vgtest @@ -0,0 +1 @@ +prog: bug152022 -- 2.47.2