]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add a regtest for #125959.
authorJulian Seward <jseward@acm.org>
Tue, 14 Nov 2006 15:07:57 +0000 (15:07 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 14 Nov 2006 15:07:57 +0000 (15:07 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6351

none/tests/x86/Makefile.am
none/tests/x86/bug125959-x86.c [new file with mode: 0644]
none/tests/x86/bug125959-x86.stderr.exp [new file with mode: 0644]
none/tests/x86/bug125959-x86.stdout.exp [new file with mode: 0644]
none/tests/x86/bug125959-x86.vgtest [new file with mode: 0644]

index a8c5ec7518cce5d681c75a0d528aa9c91a4f441e..dd9ea2c7f470a07d1c598d5fc7ad774fb2259365 100644 (file)
@@ -8,6 +8,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
        badseg.stderr.exp badseg.stdout.exp badseg.vgtest \
        bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest \
        bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \
+       bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \
        bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \
        cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
        cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
@@ -34,6 +35,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
 
 check_PROGRAMS = \
        badseg bt_everything bt_literal \
+       bug125959-x86 \
        bug132813-x86 \
        cmpxchg8b cpuid \
        faultstatus fcmovnu fpu_lazy_eflags fxtract \
diff --git a/none/tests/x86/bug125959-x86.c b/none/tests/x86/bug125959-x86.c
new file mode 100644 (file)
index 0000000..96a04e2
--- /dev/null
@@ -0,0 +1,36 @@
+
+#include <stdio.h>
+
+unsigned char buf[256]; 
+
+static int lookup ( int i )
+{
+  int block[3];
+  block[0] = (int)&buf[0];
+  block[1] = i;
+  block[2] = 0;
+  __asm__ __volatile__(
+     "movl %0,%%esi\n\t"
+     "movl 0(%%esi),%%ebx\n\t"
+     "movl 4(%%esi),%%eax\n\t"
+     "xlat\n\t"
+     "movl %%eax,8(%%esi)\n\t"
+     : : /*in*/"r"(block) : "esi", "ebx", "eax", "memory", "cc"
+  );
+  return block[2];
+}
+
+int main(void) 
+{ 
+  int i, j;
+   for (i = 0; i < 256; i++) 
+    buf[i] = (unsigned char) i;
+
+   j = 0;
+   for (i = 0; i < 130; i++) {
+     printf("%08x\n", lookup(j));
+     j += 0x01000001;
+   }
+
+   return 0; 
+}
diff --git a/none/tests/x86/bug125959-x86.stderr.exp b/none/tests/x86/bug125959-x86.stderr.exp
new file mode 100644 (file)
index 0000000..139597f
--- /dev/null
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/x86/bug125959-x86.stdout.exp b/none/tests/x86/bug125959-x86.stdout.exp
new file mode 100644 (file)
index 0000000..da1702c
--- /dev/null
@@ -0,0 +1,130 @@
+00000000
+01000001
+02000002
+03000003
+04000004
+05000005
+06000006
+07000007
+08000008
+09000009
+0a00000a
+0b00000b
+0c00000c
+0d00000d
+0e00000e
+0f00000f
+10000010
+11000011
+12000012
+13000013
+14000014
+15000015
+16000016
+17000017
+18000018
+19000019
+1a00001a
+1b00001b
+1c00001c
+1d00001d
+1e00001e
+1f00001f
+20000020
+21000021
+22000022
+23000023
+24000024
+25000025
+26000026
+27000027
+28000028
+29000029
+2a00002a
+2b00002b
+2c00002c
+2d00002d
+2e00002e
+2f00002f
+30000030
+31000031
+32000032
+33000033
+34000034
+35000035
+36000036
+37000037
+38000038
+39000039
+3a00003a
+3b00003b
+3c00003c
+3d00003d
+3e00003e
+3f00003f
+40000040
+41000041
+42000042
+43000043
+44000044
+45000045
+46000046
+47000047
+48000048
+49000049
+4a00004a
+4b00004b
+4c00004c
+4d00004d
+4e00004e
+4f00004f
+50000050
+51000051
+52000052
+53000053
+54000054
+55000055
+56000056
+57000057
+58000058
+59000059
+5a00005a
+5b00005b
+5c00005c
+5d00005d
+5e00005e
+5f00005f
+60000060
+61000061
+62000062
+63000063
+64000064
+65000065
+66000066
+67000067
+68000068
+69000069
+6a00006a
+6b00006b
+6c00006c
+6d00006d
+6e00006e
+6f00006f
+70000070
+71000071
+72000072
+73000073
+74000074
+75000075
+76000076
+77000077
+78000078
+79000079
+7a00007a
+7b00007b
+7c00007c
+7d00007d
+7e00007e
+7f00007f
+80000080
+81000081
diff --git a/none/tests/x86/bug125959-x86.vgtest b/none/tests/x86/bug125959-x86.vgtest
new file mode 100644 (file)
index 0000000..9de071e
--- /dev/null
@@ -0,0 +1 @@
+prog: bug125959-x86