|
From: <sv...@va...> - 2006-11-14 18:36:12
|
Author: sewardj
Date: 2006-11-14 18:36:02 +0000 (Tue, 14 Nov 2006)
New Revision: 6354
Log:
Add a regtest for the false-uninitialised-value-report bug fixed by
vex r1675.
Added:
trunk/memcheck/tests/x86/espindola2.c
trunk/memcheck/tests/x86/espindola2.stderr.exp
trunk/memcheck/tests/x86/espindola2.vgtest
Modified:
trunk/memcheck/tests/x86/Makefile.am
Modified: trunk/memcheck/tests/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/x86/Makefile.am 2006-11-14 15:58:04 UTC (rev 635=
3)
+++ trunk/memcheck/tests/x86/Makefile.am 2006-11-14 18:36:02 UTC (rev 635=
4)
@@ -6,6 +6,7 @@
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
bug133694.vgtest bug133694.stderr.exp bug133694.stdout.exp \
+ espindola2.vgtest espindola2.stderr.exp \
fpeflags.stderr.exp fpeflags.vgtest \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
@@ -27,6 +28,7 @@
=20
check_PROGRAMS =3D \
bug133694 \
+ espindola2 \
scalar_exit_group scalar_fork scalar_supp scalar_vfork \
fpeflags pushfpopf pushpopmem scalar sse_memory tronical \
more_x86_fp fprem
Added: trunk/memcheck/tests/x86/espindola2.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/x86/espindola2.c (rev 0)
+++ trunk/memcheck/tests/x86/espindola2.c 2006-11-14 18:36:02 UTC (rev 63=
54)
@@ -0,0 +1,36 @@
+
+#include <stdlib.h>
+#include <assert.h>
+
+/* This should run without comment, but 3.2.1 (and presumably earlier)
+ give a false uninit-value warning. This was fixed by vex r1675
+ which is a spec rule for COPY-CondP. */
+
+int main ( void )
+{
+ int* x =3D malloc(4);
+ assert(x);
+ __asm__ __volatile__(
+ "finit\n\t"
+ "ffree %%st(0)\n\t"
+ "ffree %%st(1)\n\t"
+ "ffree %%st(2)\n\t"
+ "ffree %%st(3)\n\t"
+ "ffree %%st(4)\n\t"
+ "ffree %%st(5)\n\t"
+ "ffree %%st(6)\n\t"
+ "ffree %%st(7)\n\t"
+ "andb $128, (%0)\n\t"
+ "fldz\n\t"
+ "fldz\n\t"
+ "fucompp\n\t"
+ "fnstsw %%ax\n\t"
+ "sahf\n\t"
+ "jp .Lfoobar\n"
+ ".Lfoobar:\n\t"
+ "nop"
+ : : "r"(x) : "eax", "cc"
+ );
+ free(x);
+ return 0;
+}
Added: trunk/memcheck/tests/x86/espindola2.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Added: trunk/memcheck/tests/x86/espindola2.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/x86/espindola2.vgtest (r=
ev 0)
+++ trunk/memcheck/tests/x86/espindola2.vgtest 2006-11-14 18:36:02 UTC (r=
ev 6354)
@@ -0,0 +1,2 @@
+prog: espindola2
+vgopts: -q
|