xml1:  add another .stderr.exp file for slightly different systems, and
make the stderr.exp64 consistent with the improved filtering.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4090 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
index 798f6f3..3ff8a03 100644
--- a/memcheck/tests/Makefile.am
+++ b/memcheck/tests/Makefile.am
@@ -82,7 +82,8 @@
 	metadata.stderr.exp metadata.stdout.exp metadata.vgtest-HIDING \
 	vgtest_ume.stderr.exp vgtest_ume.vgtest \
 	writev.stderr.exp writev.stderr.exp2 writev.stderr.exp3 writev.vgtest \
-	xml1.stderr.exp xml1.stderr.exp64 xml1.stdout.exp xml1.vgtest \
+	xml1.stderr.exp xml1.stderr.exp2 xml1.stderr.exp64 xml1.stdout.exp \
+	xml1.vgtest \
 	zeropage.stderr.exp zeropage.stderr.exp2 zeropage.stdout.exp \
 	zeropage.vgtest
 
diff --git a/memcheck/tests/xml1.stderr.exp2 b/memcheck/tests/xml1.stderr.exp2
new file mode 100644
index 0000000..4b7ee39
--- /dev/null
+++ b/memcheck/tests/xml1.stderr.exp2
@@ -0,0 +1,422 @@
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>1</protocolversion>
+
+<preamble>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>memcheck</tool>
+
+<argv>
+  <exe>./xml1</exe>
+</argv>
+
+<status>RUNNING</status>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>InvalidRead</kind>
+  <what>Invalid read of size 4</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  <auxwhat>Address 0x........ is 0 bytes after a block of size 40 alloc'd</auxwhat>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>malloc</fn>
+      <dir>...</dir>
+      <file>vg_replace_malloc.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+</error>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>UninitCondition</kind>
+  <what>Conditional jump or move depends on uninitialised value(s)</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+</error>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>UninitValue</kind>
+  <what>Use of uninitialised value of size 4</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+</error>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>InvalidFree</kind>
+  <what>Invalid free() / delete / delete[]</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>free</fn>
+      <dir>...</dir>
+      <file>vg_replace_malloc.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  <auxwhat>Address 0x........ is 0 bytes inside a block of size 40 free'd</auxwhat>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>free</fn>
+      <dir>...</dir>
+      <file>vg_replace_malloc.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+</error>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>InvalidFree</kind>
+  <what>Invalid free() / delete / delete[]</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>free</fn>
+      <dir>...</dir>
+      <file>vg_replace_malloc.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  <auxwhat>Address 0x........ is on thread 1's stack</auxwhat>
+</error>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>SyscallParam</kind>
+  <what>Syscall param exit(exitcode) contains uninitialised byte(s)</what>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>_Exit</fn>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>__libc_start_main</fn>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+    </frame>
+  </stack>
+</error>
+
+<errorcounts>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+</errorcounts>
+
+<status>FINISHED</status>
+
+<suppcounts>...</suppcounts>
+
+<error>
+  <unique>0x........</unique>
+  <tid>...</tid>
+  <kind>Leak_DefinitelyLost</kind>
+  <what>396 bytes in 1 blocks are definitely lost in loss record 1 of 1</what>
+  <leakedbytes>396</leakedbytes>
+  <leakedblocks>1</leakedblocks>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>malloc</fn>
+      <dir>...</dir>
+      <file>vg_replace_malloc.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame3</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame2</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>frame1</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>xml1.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+</error>
+
+</valgrindoutput>
+
diff --git a/memcheck/tests/xml1.stderr.exp64 b/memcheck/tests/xml1.stderr.exp64
index 78d87a2..6904c50 100644
--- a/memcheck/tests/xml1.stderr.exp64
+++ b/memcheck/tests/xml1.stderr.exp64
@@ -363,23 +363,17 @@
 </error>
 
 <errorcounts>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
-  <pair> <count>1</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
+  <pair> <count>...</count> <unique>0x........</unique> </pair>
 </errorcounts>
 
 <status>FINISHED</status>
 
-<suppcounts>
-  <pair> <count>3</count> <name>index-not-intercepted-early-enough-HACK-1</name> </pair>
-  <pair> <count>1</count> <name>strlen-not-intercepted-early-enough-HACK-5</name> </pair>
-  <pair> <count>1</count> <name>strlen-not-intercepted-early-enough-HACK-4</name> </pair>
-  <pair> <count>1</count> <name>strlen-not-intercepted-early-enough-HACK-3</name> </pair>
-  <pair> <count>2</count> <name>dl_relocate_object</name> </pair>
-</suppcounts>
+<suppcounts>...</suppcounts>
 
 <error>
   <unique>0x........</unique>