|
From: <sv...@va...> - 2015-05-13 21:46:55
|
Author: carll
Date: Wed May 13 22:46:47 2015
New Revision: 15228
Log:
Patch 2 in a revised series of cleanup patches from Will Schmidt
Add a deep-D test .exp values for ppc64.
Depending on the system and the systems endianness, there are variances
in the library reference, and to the specific line number in the library.
I was able to add and modify existing filters to cover most of the variations,
but did need to add a .exp to cover the additional call stack entry as seen
on power.
This change allows the ppc64 targets to pass the massif/deep-D test.
This patch fixes Vagrind bugzilla 347686
Added:
trunk/massif/tests/deep-D.post.exp-ppc64
Modified:
trunk/massif/tests/Makefile.am
trunk/tests/filter_libc
Modified: trunk/massif/tests/Makefile.am
==============================================================================
--- trunk/massif/tests/Makefile.am (original)
+++ trunk/massif/tests/Makefile.am Wed May 13 22:46:47 2015
@@ -14,6 +14,7 @@
deep-B.post.exp deep-B.stderr.exp deep-B.vgtest \
deep-C.post.exp deep-C.stderr.exp deep-C.vgtest \
deep-D.post.exp deep-D.stderr.exp deep-D.vgtest \
+ deep-D.post.exp-ppc64 \
culling1.stderr.exp culling1.vgtest \
culling2.stderr.exp culling2.vgtest \
custom_alloc.post.exp custom_alloc.stderr.exp custom_alloc.vgtest \
Added: trunk/massif/tests/deep-D.post.exp-ppc64
==============================================================================
--- trunk/massif/tests/deep-D.post.exp-ppc64 (added)
+++ trunk/massif/tests/deep-D.post.exp-ppc64 Wed May 13 22:46:47 2015
@@ -0,0 +1,55 @@
+--------------------------------------------------------------------------------
+Command: ./deep
+Massif arguments: --stacks=no --time-unit=B --alloc-fn=a1 --alloc-fn=a2 --alloc-fn=a3 --alloc-fn=a4 --alloc-fn=a5 --alloc-fn=a6 --alloc-fn=a7 --alloc-fn=a8 --alloc-fn=a9 --alloc-fn=a10 --alloc-fn=a11 --alloc-fn=a12 --alloc-fn=main --depth=20 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
+ms_print arguments: massif.out
+--------------------------------------------------------------------------------
+
+
+ KB
+3.984^ :
+ | :
+ | @@@@@@@:
+ | @ :
+ | :::::::@ :
+ | : @ :
+ | :::::::: @ :
+ | : : @ :
+ | :::::::: : @ :
+ | : : : @ :
+ | :::::::: : : @ :
+ | : : : : @ :
+ | ::::::::: : : : @ :
+ | : : : : : @ :
+ | :::::::: : : : : @ :
+ | : : : : : : @ :
+ | :::::::: : : : : : @ :
+ | : : : : : : : @ :
+ | :::::::: : : : : : : @ :
+ | : : : : : : : : @ :
+ 0 +----------------------------------------------------------------------->KB
+ 0 3.984
+
+Number of snapshots: 11
+ Detailed snapshots: [9]
+
+--------------------------------------------------------------------------------
+ n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
+--------------------------------------------------------------------------------
+ 0 0 0 0 0 0
+ 1 408 408 400 8 0
+ 2 816 816 800 16 0
+ 3 1,224 1,224 1,200 24 0
+ 4 1,632 1,632 1,600 32 0
+ 5 2,040 2,040 2,000 40 0
+ 6 2,448 2,448 2,400 48 0
+ 7 2,856 2,856 2,800 56 0
+ 8 3,264 3,264 3,200 64 0
+ 9 3,672 3,672 3,600 72 0
+98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+->98.04% (3,600B) 0x........: generic_start_main.isra.0 (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
+--------------------------------------------------------------------------------
+ n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
+--------------------------------------------------------------------------------
+ 10 4,080 4,080 4,000 80 0
Modified: trunk/tests/filter_libc
==============================================================================
--- trunk/tests/filter_libc (original)
+++ trunk/tests/filter_libc Wed May 13 22:46:47 2015
@@ -22,6 +22,9 @@
# libc, on some (eg. Darwin) it will be in the main executable.
s/\(below main\) \(.+\)$/(below main)/;
+ # filter out the exact libc-start.c:### line number. (ppc64*)
+ s/\(libc-start.c:[0-9]*\)$/(in \/...libc...)/;
+
# Merge the different C++ operator variations.
s/(at.*)__builtin_new/$1...operator new.../;
s/(at.*)operator new\(unsigned(| int| long)\)/$1...operator new.../;
|