Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Overholt2011-02-28 03:11:21 +0000
committerAndrew Overholt2011-02-28 03:11:21 +0000
commit64538c827345a597a22cbfeac14b1d4813670756 (patch)
tree31bc4aae98edbd871fe24160d0c4e1a5ba2f062b
parentcc7f24352e76c246980d5401f8f2c9076965a67e (diff)
parentddb4b56419a2902b502e93d8cd8affe6392b6c07 (diff)
downloadorg.eclipse.linuxtools-64538c827345a597a22cbfeac14b1d4813670756.tar.gz
org.eclipse.linuxtools-64538c827345a597a22cbfeac14b1d4813670756.tar.xz
org.eclipse.linuxtools-64538c827345a597a22cbfeac14b1d4813670756.zip
Merge gprof 0.6.0
-rw-r--r--gprof/org.eclipse.linuxtools.binutils/about.html45
-rw-r--r--gprof/org.eclipse.linuxtools.binutils/plugin.properties2
-rw-r--r--gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditor.java3
-rw-r--r--gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditorInput.java1
-rw-r--r--gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STLink2SourceSupport.java4
-rw-r--r--gprof/org.eclipse.linuxtools.dataviewers/about.html37
-rw-r--r--gprof/org.eclipse.linuxtools.dataviewers/plugin.properties2
-rw-r--r--gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/actions/STCopyAction.java2
-rw-r--r--gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STFindReplaceDialog.java195
-rw-r--r--gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STTreeViewerRow.java2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof-feature/ChangeLog15
-rw-r--r--gprof/org.eclipse.linuxtools.gprof-feature/build.properties7
-rw-r--r--gprof/org.eclipse.linuxtools.gprof-feature/feature.properties126
-rw-r--r--gprof/org.eclipse.linuxtools.gprof-feature/feature.xml9
-rw-r--r--gprof/org.eclipse.linuxtools.gprof-feature/license.html107
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/a.outbin20254 -> 12483 bytes
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/gmon.outbin1442 -> 1380 bytes
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/src/foox.cpp2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref24
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref.binutils-2.1642
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref24
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref.binutils-2.1642
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatSampleView.ref8
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatTimeView.ref8
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionSampleView.ref12
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionTimeView.ref12
-rwxr-xr-xgprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testParse.ref8
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testSampleView.ref14
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testTimeView.ref14
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/a.outbin14261 -> 9514 bytes
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/gmon.outbin1210 -> 1222 bytes
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/src/foox.c2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphTimeView.ref30
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphView.ref30
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatSampleView.ref17
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatTimeView.ref17
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionSampleView.ref23
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionTimeView.ref23
-rwxr-xr-xgprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testParse.ref12
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testSampleView.ref25
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testTimeView.ref25
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/plugin.properties2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofAggregatorTest.java10
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofTest.java81
-rw-r--r--gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/STJunitUtils.java21
-rwxr-xr-xgprof/org.eclipse.linuxtools.gprof.test/test.xml2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/META-INF/MANIFEST.MF3
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/about.html37
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/plugin.properties2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder.java6
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder_64.java42
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/GmonDecoder.java18
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder.java53
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder_64.java44
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/GmonView.java2
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/CallsProfField.java3
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/RatioProfField.java3
-rw-r--r--gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/SampleProfField.java3
58 files changed, 838 insertions, 465 deletions
diff --git a/gprof/org.eclipse.linuxtools.binutils/about.html b/gprof/org.eclipse.linuxtools.binutils/about.html
index 0c6525d9a8..23506a4bae 100644
--- a/gprof/org.eclipse.linuxtools.binutils/about.html
+++ b/gprof/org.eclipse.linuxtools.binutils/about.html
@@ -1,33 +1,26 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
+</head><body lang="EN-US">
<h2>About This Content</h2>
-<p>24th October, 2008</p>
+<p>June 5, 2006</p>
<h3>License</h3>
-<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
-made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
-Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
-<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
-host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-</body>
-</html> \ No newline at end of file
+</body></html> \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.binutils/plugin.properties b/gprof/org.eclipse.linuxtools.binutils/plugin.properties
index 0752dc68c4..8115a91417 100644
--- a/gprof/org.eclipse.linuxtools.binutils/plugin.properties
+++ b/gprof/org.eclipse.linuxtools.binutils/plugin.properties
@@ -8,6 +8,6 @@
# Contributors:
# Xavier Raynaud <xavier.raynaud@st.com> - initial API and implementation
#*******************************************************************************
-bundleProvider = Eclipse
+bundleProvider = Eclipse Linux Tools
bundleName = Binutils Plug-in (Incubation)
sourceNotFoundEditorName = Source Not Found \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditor.java b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditor.java
index 0f849c2759..89770a4cd9 100644
--- a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditor.java
+++ b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditor.java
@@ -17,7 +17,6 @@ import java.util.Iterator;
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
import org.eclipse.cdt.debug.core.sourcelookup.MappingSourceContainer;
-import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
import org.eclipse.cdt.debug.internal.core.sourcelookup.MapEntrySourceContainer;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
@@ -189,7 +188,7 @@ public class STCSourceNotFoundEditor extends CommonSourceNotFoundEditor {
}
private void addSourceMappingToCommon(IPath missingPath, IPath newSourcePath) throws CoreException {
- CSourceLookupDirector director = CDebugCorePlugin.getDefault().getCommonSourceLookupDirector();
+ AbstractSourceLookupDirector director = CDebugCorePlugin.getDefault().getCommonSourceLookupDirector();
addSourceMappingToDirector(missingPath, newSourcePath, director);
CDebugCorePlugin.getDefault().savePluginPreferences();
}
diff --git a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditorInput.java b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditorInput.java
index b5a650e4bf..38e76b887e 100644
--- a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditorInput.java
+++ b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STCSourceNotFoundEditorInput.java
@@ -87,6 +87,7 @@ public class STCSourceNotFoundEditorInput implements IEditorInput {
* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
+ @SuppressWarnings("unchecked")
public Object getAdapter(Class adapter) {
return null;
}
diff --git a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STLink2SourceSupport.java b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STLink2SourceSupport.java
index 078c67056e..d11e957d73 100644
--- a/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STLink2SourceSupport.java
+++ b/gprof/org.eclipse.linuxtools.binutils/src/org/eclipse/linuxtools/binutils/link2source/STLink2SourceSupport.java
@@ -25,7 +25,6 @@ import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.core.model.IOutputEntry;
import org.eclipse.cdt.core.model.ISourceRoot;
import org.eclipse.cdt.debug.core.CDebugCorePlugin;
-import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.utils.Addr64;
import org.eclipse.core.filesystem.EFS;
@@ -39,6 +38,7 @@ import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
+import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
import org.eclipse.debug.core.sourcelookup.ISourceContainer;
import org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage;
import org.eclipse.jface.text.BadLocationException;
@@ -457,7 +457,7 @@ public class STLink2SourceSupport {
private IEditorInput findFileInCommonSourceLookup(IPath path)
{
try {
- CSourceLookupDirector director = CDebugCorePlugin.getDefault().getCommonSourceLookupDirector();
+ AbstractSourceLookupDirector director = CDebugCorePlugin.getDefault().getCommonSourceLookupDirector();
ISourceContainer[] c = director.getSourceContainers();
for (ISourceContainer sourceContainer : c) {
Object[] o = sourceContainer.findSourceElements(path.toOSString());
diff --git a/gprof/org.eclipse.linuxtools.dataviewers/about.html b/gprof/org.eclipse.linuxtools.dataviewers/about.html
index 0c6525d9a8..c258ef55d8 100644
--- a/gprof/org.eclipse.linuxtools.dataviewers/about.html
+++ b/gprof/org.eclipse.linuxtools.dataviewers/about.html
@@ -1,33 +1,28 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h2>About This Content</h2>
-<p>24th October, 2008</p>
+<p>June 5, 2006</p>
<h3>License</h3>
-<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
-made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
-Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
-host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body>
</html> \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.dataviewers/plugin.properties b/gprof/org.eclipse.linuxtools.dataviewers/plugin.properties
index 42bda80a91..b296a4af84 100644
--- a/gprof/org.eclipse.linuxtools.dataviewers/plugin.properties
+++ b/gprof/org.eclipse.linuxtools.dataviewers/plugin.properties
@@ -8,5 +8,5 @@
# Contributors:
# STMicroelectronics - initial API and implementation
#*******************************************************************************
-bundleProvider = Eclipse
+bundleProvider = Eclipse Linux Tools
bundleName = Data Viewers Plug-in (Incubation) \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/actions/STCopyAction.java b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/actions/STCopyAction.java
index 7a83596be5..c9c33ba154 100644
--- a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/actions/STCopyAction.java
+++ b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/actions/STCopyAction.java
@@ -42,7 +42,7 @@ public class STCopyAction extends Action {
Clipboard cb = new Clipboard(Display.getDefault());
ISTDataViewersField[] fields = stViewer.getAllFields();
IStructuredSelection selections = (IStructuredSelection)stViewer.getViewer().getSelection();
- Iterator iterator = selections.iterator();
+ Iterator<?> iterator = selections.iterator();
StringBuilder sb = new StringBuilder();
for(int i=0;iterator.hasNext();i++){
diff --git a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STFindReplaceDialog.java b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STFindReplaceDialog.java
index b9eadfc243..2c2ba94747 100644
--- a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STFindReplaceDialog.java
+++ b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STFindReplaceDialog.java
@@ -16,8 +16,18 @@ import java.util.List;
import java.util.Set;
import java.util.regex.PatternSyntaxException;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.fieldassist.ComboContentAdapter;
+import org.eclipse.jface.fieldassist.FieldDecoration;
+import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
+import org.eclipse.jface.resource.JFaceColors;
+import org.eclipse.jface.text.TextUtilities;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.jface.viewers.ViewerRow;
+import org.eclipse.linuxtools.dataviewers.STDataViewersActivator;
+import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTViewer;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
@@ -36,30 +46,13 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.fieldassist.ComboContentAdapter;
-import org.eclipse.jface.fieldassist.FieldDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.resource.JFaceColors;
-
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.viewers.ViewerCell;
-import org.eclipse.jface.viewers.ViewerRow;
-import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTViewer;
-
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter;
-import org.eclipse.ui.internal.texteditor.NLSUtility;
-import org.eclipse.ui.internal.texteditor.SWTUtil;
-import org.eclipse.ui.internal.texteditor.TextEditorPlugin;
import org.eclipse.ui.texteditor.IAbstractTextEditorHelpContextIds;
import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.IFindReplaceTargetExtension2;
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
@@ -153,8 +146,8 @@ class STFindReplaceDialog extends Dialog {
*/
boolean fIsRegExInit;
- private List fFindHistory;
- private List fReplaceHistory;
+ private List<String> fFindHistory;
+ private List<String> fReplaceHistory;
private boolean fIsTargetEditable;
private ISTFindReplaceTarget fTarget;
@@ -216,8 +209,8 @@ class STFindReplaceDialog extends Dialog {
fTarget= null;
fDialogPositionInit= null;
- fFindHistory= new ArrayList(HISTORY_SIZE - 1);
- fReplaceHistory= new ArrayList(HISTORY_SIZE - 1);
+ fFindHistory= new ArrayList<String>(HISTORY_SIZE - 1);
+ fReplaceHistory= new ArrayList<String>(HISTORY_SIZE - 1);
fWrapInit= false;
fCaseInit= false;
@@ -894,7 +887,7 @@ class STFindReplaceDialog extends Dialog {
* Returns the dialog's history.
* @return the dialog's history
*/
- private List getFindHistory() {
+ private List<String> getFindHistory() {
return fFindHistory;
}
@@ -915,7 +908,7 @@ class STFindReplaceDialog extends Dialog {
* Returns the dialog's replace history.
* @return the dialog's replace history
*/
- private List getReplaceHistory() {
+ private List<String> getReplaceHistory() {
return fReplaceHistory;
}
@@ -1228,101 +1221,6 @@ class STFindReplaceDialog extends Dialog {
}
/**
- * Replaces all occurrences of the user's findString with
- * the replace string. Indicate to the user the number of replacements
- * that occur.
- */
- private void performReplaceAll() {
-
- int replaceCount= 0;
- final String replaceString= getReplaceString();
- final String findString= getFindString();
-
- if (findString != null && findString.length() > 0) {
-
- class ReplaceAllRunnable implements Runnable {
- public int numberOfOccurrences;
- public void run() {
- numberOfOccurrences= replaceAll(findString, replaceString == null ? "" : replaceString, isForwardSearch(), isCaseSensitiveSearch(), isWrapSearch(), isWholeWordSearch(), isRegExSearchAvailableAndChecked()); //$NON-NLS-1$
- }
- }
-
- try {
- ReplaceAllRunnable runnable= new ReplaceAllRunnable();
- BusyIndicator.showWhile(fActiveShell.getDisplay(), runnable);
- replaceCount= runnable.numberOfOccurrences;
-
- if (replaceCount != 0) {
- if (replaceCount == 1) { // not plural
- statusMessage(EditorMessages.FindReplace_Status_replacement_label);
- } else {
- String msg= EditorMessages.FindReplace_Status_replacements_label;
- msg= NLSUtility.format(msg, String.valueOf(replaceCount));
- statusMessage(msg);
- }
- } else {
- statusMessage(EditorMessages.FindReplace_Status_noMatch_label);
- }
- } catch (PatternSyntaxException ex) {
- statusError(ex.getLocalizedMessage());
- } catch (IllegalStateException ex) {
- // we don't keep state in this dialog
- }
- }
- writeSelection();
- updateButtonState();
- }
-
- /**
- * Validates the state of the find/replace target.
- * @return <code>true</code> if target can be changed, <code>false</code> otherwise
- * @since 2.1
- */
- private boolean validateTargetState() {
-
- if (fTarget instanceof IFindReplaceTargetExtension2) {
- IFindReplaceTargetExtension2 extension= (IFindReplaceTargetExtension2) fTarget;
- if (!extension.validateTargetState()) {
- statusError(EditorMessages.FindReplaceDialog_read_only);
- updateButtonState();
- return false;
- }
- }
- return isEditable();
- }
-
- /**
- * Replaces the current selection of the target with the user's
- * replace string.
- *
- * @return <code>true</code> if the operation was successful
- */
- private boolean performReplaceSelection() {
-
- if (!validateTargetState())
- return false;
-
- String replaceString= getReplaceString();
- if (replaceString == null)
- replaceString= ""; //$NON-NLS-1$
-
- boolean replaced;
- try {
- replaceSelection(replaceString, isRegExSearchAvailableAndChecked());
- replaced= true;
- writeSelection();
- } catch (PatternSyntaxException ex) {
- statusError(ex.getLocalizedMessage());
- replaced= false;
- } catch (IllegalStateException ex) {
- replaced= false;
- }
-
- updateButtonState();
- return replaced;
- }
-
- /**
* Locates the user's findString in the text of the target.
*/
private void performSearch() {
@@ -1367,28 +1265,9 @@ class STFindReplaceDialog extends Dialog {
updateButtonState(!somethingFound);
}
- /**
- * Replaces all occurrences of the user's findString with
- * the replace string. Returns the number of replacements
- * that occur.
- *
- * @param findString the string to search for
- * @param replaceString the replacement string
- * @param forwardSearch the search direction
- * @param caseSensitive should the search be case sensitive
- * @param wrapSearch should search wrap to start/end if end/start is reached
- * @param wholeWord does the search string represent a complete word
- * @param regExSearch if <code>true</code> findString represents a regular expression
- * @return the number of occurrences
- *
- * @since 3.0
- */
- private int replaceAll(String findString, String replaceString, boolean forwardSearch, boolean caseSensitive, boolean wrapSearch, boolean wholeWord, boolean regExSearch) {
- return 0;
- }
// ------- UI creation ---------------------------------------
-
+
/**
* Attaches the given layout specification to the <code>component</code>.
*
@@ -1401,8 +1280,8 @@ class STFindReplaceDialog extends Dialog {
private void setGridData(Control component, int horizontalAlignment, boolean grabExcessHorizontalSpace, int verticalAlignment, boolean grabExcessVerticalSpace) {
GridData gd;
if (component instanceof Button && (((Button)component).getStyle() & SWT.PUSH) != 0) {
- SWTUtil.setButtonDimensionHint((Button)component);
gd= (GridData)component.getLayoutData();
+ gd.horizontalAlignment = GridData.FILL;
} else {
gd= new GridData();
component.setLayoutData(gd);
@@ -1443,12 +1322,6 @@ class STFindReplaceDialog extends Dialog {
*/
private void updateButtonState(boolean disableReplace) {
if (okToUse(getShell()) && okToUse(fFindNextButton)) {
-
- boolean selection= false;
- if (fTarget != null) {
- String selectedText= fTarget.getSelectionText(index);
- selection= (selectedText != null && selectedText.length() > 0);
- }
boolean enable= fTarget != null && (fActiveShell == fParentShell || fActiveShell == getShell());
String str= getFindString();
boolean findString= str != null && str.length() > 0;
@@ -1486,7 +1359,7 @@ class STFindReplaceDialog extends Dialog {
* @param combo combo to be updated
* @param content to be put into the combo
*/
- private void updateCombo(Combo combo, List content) {
+ private void updateCombo(Combo combo, List<String> content) {
combo.removeAll();
for (int i= 0; i < content.size(); i++) {
combo.add(content.get(i).toString());
@@ -1495,16 +1368,6 @@ class STFindReplaceDialog extends Dialog {
// ------- open / reopen ---------------------------------------
- /**
- * Called after executed find/replace action to update the history.
- */
- private void updateFindAndReplaceHistory() {
- updateFindHistory();
- if (okToUse(fReplaceField)) {
- updateHistory(fReplaceField, fReplaceHistory);
- }
-
- }
/**
* Called after executed find action to update the history.
@@ -1522,7 +1385,7 @@ class STFindReplaceDialog extends Dialog {
* @param combo to be updated
* @param history to be put into the combo
*/
- private void updateHistory(Combo combo, List history) {
+ private void updateHistory(Combo combo, List<String> history) {
String findString= combo.getText();
int index= history.indexOf(findString);
if (index != 0) {
@@ -1627,7 +1490,7 @@ class STFindReplaceDialog extends Dialog {
* @return the dialog settings to be used
*/
private IDialogSettings getDialogSettings() {
- IDialogSettings settings= TextEditorPlugin.getDefault().getDialogSettings();
+ IDialogSettings settings= STDataViewersActivator.getDefault().getDialogSettings();
fDialogSettings= settings.getSection(getClass().getName());
if (fDialogSettings == null)
fDialogSettings= settings.addNewSection(getClass().getName());
@@ -1640,7 +1503,7 @@ class STFindReplaceDialog extends Dialog {
*/
protected IDialogSettings getDialogBoundsSettings() {
String sectionName= getClass().getName() + "_dialogBounds"; //$NON-NLS-1$
- IDialogSettings settings= TextEditorPlugin.getDefault().getDialogSettings();
+ IDialogSettings settings= STDataViewersActivator.getDefault().getDialogSettings();
IDialogSettings section= settings.getSection(sectionName);
if (section == null)
section= settings.addNewSection(sectionName);
@@ -1670,7 +1533,7 @@ class STFindReplaceDialog extends Dialog {
String[] findHistory= s.getArray("findhistory"); //$NON-NLS-1$
if (findHistory != null) {
- List history= getFindHistory();
+ List<String> history= getFindHistory();
history.clear();
for (int i= 0; i < findHistory.length; i++)
history.add(findHistory[i]);
@@ -1678,7 +1541,7 @@ class STFindReplaceDialog extends Dialog {
String[] replaceHistory= s.getArray("replacehistory"); //$NON-NLS-1$
if (replaceHistory != null) {
- List history= getReplaceHistory();
+ List<String> history= getReplaceHistory();
history.clear();
for (int i= 0; i < replaceHistory.length; i++)
history.add(replaceHistory[i]);
@@ -1697,7 +1560,7 @@ class STFindReplaceDialog extends Dialog {
s.put("incremental", fIncrementalInit); //$NON-NLS-1$
s.put("isRegEx", fIsRegExInit); //$NON-NLS-1$
- List history= getFindHistory();
+ List<String> history= getFindHistory();
String findString= getFindString();
if (findString.length() > 0)
history.add(0, findString);
@@ -1718,11 +1581,11 @@ class STFindReplaceDialog extends Dialog {
* @param sectionName the section name
* @since 3.2
*/
- private void writeHistory(List history, IDialogSettings settings, String sectionName) {
+ private void writeHistory(List<String> history, IDialogSettings settings, String sectionName) {
int itemCount= history.size();
- Set distinctItems= new HashSet(itemCount);
+ Set<String> distinctItems= new HashSet<String>(itemCount);
for (int i= 0; i < itemCount; i++) {
- String item= (String)history.get(i);
+ String item= history.get(i);
if (distinctItems.contains(item)) {
history.remove(i--);
itemCount--;
diff --git a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STTreeViewerRow.java b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STTreeViewerRow.java
index a4528f1db2..123db042af 100644
--- a/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STTreeViewerRow.java
+++ b/gprof/org.eclipse.linuxtools.dataviewers/src/org/eclipse/linuxtools/dataviewers/findreplace/STTreeViewerRow.java
@@ -290,7 +290,7 @@ public class STTreeViewerRow extends ViewerRow {
public TreePath getTreePath() {
TreeItem tItem = item;
- LinkedList segments = new LinkedList();
+ LinkedList<Object> segments = new LinkedList<Object>();
while (tItem != null) {
Object segment = tItem.getData();
Assert.isNotNull(segment);
diff --git a/gprof/org.eclipse.linuxtools.gprof-feature/ChangeLog b/gprof/org.eclipse.linuxtools.gprof-feature/ChangeLog
index 0c0e1fde36..8d3a7a4493 100644
--- a/gprof/org.eclipse.linuxtools.gprof-feature/ChangeLog
+++ b/gprof/org.eclipse.linuxtools.gprof-feature/ChangeLog
@@ -1,3 +1,18 @@
+2010-05-18 Andrew Overholt <overholt@redhat.com>
+
+ * feature.properties: Fix provider name.
+
+2010-04-26 Andrew Overholt <overholt@redhat.com>
+
+ * feature.properties: Match consistent license text (bug #306627). Update
+ copyright year.
+ * license.html: New file. HTML version of SUA (bug #306627).
+ * build.properties: Include license.html.
+
+2010-04-12 Andrew Overholt <overholt@redhat.com>
+
+ * feature.properties: Match consistent license text (bug #306627).
+
2009-07-31 Andrew Overholt <overholt@redhat.com>
Bug #282028
diff --git a/gprof/org.eclipse.linuxtools.gprof-feature/build.properties b/gprof/org.eclipse.linuxtools.gprof-feature/build.properties
index fb599f3dec..5f2a8b25aa 100644
--- a/gprof/org.eclipse.linuxtools.gprof-feature/build.properties
+++ b/gprof/org.eclipse.linuxtools.gprof-feature/build.properties
@@ -1,8 +1,9 @@
bin.includes = feature.xml,\
feature.properties,\
- ChangeLog,\
- epl-v10.html
+ epl-v10.html,\
+ license.html
src.includes = epl-v10.html,\
feature.properties,\
feature.xml,\
- ChangeLog
+ ChangeLog,\
+ license.html
diff --git a/gprof/org.eclipse.linuxtools.gprof-feature/feature.properties b/gprof/org.eclipse.linuxtools.gprof-feature/feature.properties
index ca8704074f..3e910f55d1 100644
--- a/gprof/org.eclipse.linuxtools.gprof-feature/feature.properties
+++ b/gprof/org.eclipse.linuxtools.gprof-feature/feature.properties
@@ -10,12 +10,12 @@
#********************************************************************************
featureName=GProf Integration (Incubation)
description=Functionality to integrate GProf with the workbench.
-provider=Eclipse
-copyright=Copyright 2009 Red Hat, Inc.
-licenseURL=epl-v10.html
+provider=Eclipse Linux Tools
+copyright=Copyright 2009, 2010 Red Hat, Inc.
+licenseURL=license.html
license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
\n\
Usage Of Content\n\
\n\
@@ -23,42 +23,38 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
\n\
Applicable Licenses\n\
\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
For purposes of the EPL, "Program" will mean the Content.\n\
\n\
Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
as downloadable archives ("Downloads").\n\
\n\
- - Content may be structured and packaged into modules to facilitate delivering,\n\
- extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
- plug-in fragments ("Fragments"), and features ("Features").\n\
- - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
- in a directory named "plugins".\n\
- - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
- Each Feature may be packaged as a sub-directory in a directory named "features".\n\
- Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
- numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
- - Features may also include other Features ("Included Features"). Within a Feature, files\n\
- named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
\n\
The terms and conditions governing Plug-ins and Fragments should be\n\
contained in files named "about.html" ("Abouts"). The terms and\n\
@@ -67,46 +63,76 @@ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
Licenses may be located in any directory of a Download or Module\n\
including, but not limited to the following locations:\n\
\n\
- - The top-level (root) directory\n\
- - Plug-in and Fragment directories\n\
- - Inside Plug-ins and Fragments packaged as JARs\n\
- - Sub-directories of the directory named "src" of certain Plug-ins\n\
- - Feature directories\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
\n\
Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
Included Features, the Feature Update License should either provide you\n\
with the terms and conditions governing the Included Features or inform\n\
you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
\n\
- - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
- - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
- - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
- - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
- - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
- - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
\n\
IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
govern that particular Content.\n\
\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+ 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+ the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+ extending or updating the functionality of an Eclipse-based product.\n\
+ 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+ Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+ 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+ govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+ Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+ with the Specification. Such Installable Software Agreement must inform the user of the\n\
+ terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+ the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+ indication of agreement by the user, the provisioning Technology will complete installation\n\
+ of the Installable Software.\n\
+\n\
Cryptography\n\
\n\
Content may contain encryption software. The country in which you are\n\
currently may have restrictions on the import, possession, and use,\n\
and/or re-export to another country, of encryption software. BEFORE\n\
using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n \ No newline at end of file
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
diff --git a/gprof/org.eclipse.linuxtools.gprof-feature/feature.xml b/gprof/org.eclipse.linuxtools.gprof-feature/feature.xml
index 8520c7d5bc..5c48baa075 100644
--- a/gprof/org.eclipse.linuxtools.gprof-feature/feature.xml
+++ b/gprof/org.eclipse.linuxtools.gprof-feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.linuxtools.gprof"
label="%featureName"
- version="0.3.0.qualifier"
+ version="0.5.0.qualifier"
provider-name="%featureProvider">
<description>
@@ -42,4 +42,11 @@
version="0.0.0"
unpack="false"/>
+ <plugin
+ id="org.eclipse.linuxtools.dataviewers.charts"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
diff --git a/gprof/org.eclipse.linuxtools.gprof-feature/license.html b/gprof/org.eclipse.linuxtools.gprof-feature/license.html
new file mode 100644
index 0000000000..c184ca36a9
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof-feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/a.out b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/a.out
index 3b2b1b793d..ff5a5157e3 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/a.out
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/a.out
Binary files differ
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/gmon.out b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/gmon.out
index e609d95a49..3f9fdb70b6 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/gmon.out
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/gmon.out
Binary files differ
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/src/foox.cpp b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/src/foox.cpp
index b2f9263bfb..faa27af107 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/src/foox.cpp
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/src/foox.cpp
@@ -1,6 +1,6 @@
#include <math.h>
-#define TIMEBASE 1
+#define TIMEBASE 100
#define TEMPO(TJ,TI, IN, OUT) { \
volatile double d1 = 0;\
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref
index e58673b302..9d23f28828 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref
@@ -1,18 +1,18 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
++-;Summary;30.0ms;;;100.0
+-;A::foocpp::foocpp();0ns;2;0ns;0.0
| +-;parents;0ns;2;0ns;0.0
| +-;B::foocpp::foocpp() (foox.cpp:82);0ns;1;0ns;0.0
| +-;main (foox.cpp:110);0ns;1;0ns;0.0
- +-;A::foocpp::func_a(int);0ns;2;0ns;0.0
+ +-;A::foocpp::func_a(int);10.0ms;2;5.0ms;33.333332
| +-;children;0ns;2;0ns;0.0
| | +-;A::foocpp::func_f(int) (foox.cpp:47);0ns;2;0ns;0.0
- | +-;parents;0ns;2;0ns;0.0
- | +-;B::foocpp::func_b(int) (foox.cpp:95);0ns;1;0ns;0.0
+ | +-;parents;20.0ms;2;10.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:95);20.0ms;1;20.0ms;66.666664
| +-;main (foox.cpp:112);0ns;1;0ns;0.0
+-;A::foocpp::func_f(int);0ns;2;0ns;0.0
- | +-;parents;0ns;2;0ns;0.0
- | +-;A::foocpp::func_a(int) (foox.cpp:59);0ns;2;0ns;0.0
+ | +-;parents;10.0ms;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:59);10.0ms;2;5.0ms;33.333332
+-;A::foocpp::~foocpp();0ns;2;0ns;0.0
| +-;parents;0ns;2;0ns;0.0
| +-;B::foocpp::~foocpp() (foox.cpp:87);0ns;1;0ns;0.0
@@ -22,9 +22,9 @@ Hierarchy;Name (location);Time;Calls;Time/Call;%Time
| | +-;A::foocpp::foocpp() (foox.cpp:42);0ns;1;0ns;0.0
| +-;parents;0ns;1;0ns;0.0
| +-;main (foox.cpp:109);0ns;1;0ns;0.0
- +-;B::foocpp::func_b(int);0ns;1;0ns;0.0
- | +-;children;0ns;1;0ns;0.0
- | | +-;A::foocpp::func_a(int) (foox.cpp:54);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int);20.0ms;1;20.0ms;66.666664
+ | +-;children;10.0ms;1;10.0ms;33.333332
+ | | +-;A::foocpp::func_a(int) (foox.cpp:54);10.0ms;1;10.0ms;33.333332
| +-;parents;0ns;1;0ns;0.0
| +-;main (foox.cpp:115);0ns;1;0ns;0.0
+-;B::foocpp::~foocpp();0ns;1;0ns;0.0
@@ -33,10 +33,10 @@ Hierarchy;Name (location);Time;Calls;Time/Call;%Time
| +-;parents;0ns;1;0ns;0.0
| +-;main (foox.cpp:119);0ns;1;0ns;0.0
+-;main;0ns;0;;0.0
- +-;children;0ns;6;0ns;0.0
+ +-;children;30.0ms;6;5.0ms;100.0
+-;A::foocpp::foocpp() (foox.cpp:42);0ns;1;0ns;0.0
- +-;A::foocpp::func_a(int) (foox.cpp:54);0ns;1;0ns;0.0
+ +-;A::foocpp::func_a(int) (foox.cpp:54);10.0ms;1;10.0ms;33.333332
+-;A::foocpp::~foocpp() (foox.cpp:44);0ns;1;0ns;0.0
+-;B::foocpp::foocpp() (foox.cpp:81);0ns;1;0ns;0.0
- +-;B::foocpp::func_b(int) (foox.cpp:91);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int) (foox.cpp:91);20.0ms;1;20.0ms;66.666664
+-;B::foocpp::~foocpp() (foox.cpp:86);0ns;1;0ns;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref.binutils-2.16 b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref.binutils-2.16
new file mode 100644
index 0000000000..cab682788c
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphTimeView.ref.binutils-2.16
@@ -0,0 +1,42 @@
+Hierarchy;Name (location);Time;Calls;Time/Call;%Time
++-;Summary;30.0ms;;;100.0
+ +-;A::foocpp::foocpp();0ns;2;0ns;0.0
+ | +-;parents;0ns;2;0ns;0.0
+ | +-;B::foocpp::foocpp() (foox.cpp:82);0ns;1;0ns;0.0
+ | +-;main (foox.cpp:110);0ns;1;0ns;0.0
+ +-;A::foocpp::func_a(int);10.0ms;2;5.0ms;33.333332
+ | +-;children;0ns;2;0ns;0.0
+ | | +-;A::foocpp::func_f(int) (foox.cpp:47);0ns;2;0ns;0.0
+ | +-;parents;20.0ms;2;10.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:95);20.0ms;1;20.0ms;66.666664
+ | +-;main (foox.cpp:112);0ns;1;0ns;0.0
+ +-;A::foocpp::func_f(int);0ns;2;0ns;0.0
+ | +-;parents;10.0ms;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:59);10.0ms;2;5.0ms;33.333332
+ +-;A::foocpp::~foocpp();0ns;2;0ns;0.0
+ | +-;parents;0ns;2;0ns;0.0
+ | +-;B::foocpp::~foocpp() (foox.cpp:87);0ns;1;0ns;0.0
+ | +-;main (foox.cpp:118);0ns;1;0ns;0.0
+ +-;B::foocpp::foocpp();0ns;1;0ns;0.0
+ | +-;children;0ns;1;0ns;0.0
+ | | +-;A::foocpp::foocpp() (foox.cpp:42);0ns;1;0ns;0.0
+ | +-;parents;0ns;1;0ns;0.0
+ | +-;main (foox.cpp:109);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int);20.0ms;1;20.0ms;66.666664
+ | +-;children;10.0ms;1;10.0ms;33.333332
+ | | +-;A::foocpp::func_a(int) (foox.cpp:99);10.0ms;1;10.0ms;33.333332
+ | +-;parents;0ns;1;0ns;0.0
+ | +-;main (foox.cpp:115);0ns;1;0ns;0.0
+ +-;B::foocpp::~foocpp();0ns;1;0ns;0.0
+ | +-;children;0ns;1;0ns;0.0
+ | | +-;A::foocpp::~foocpp() (foox.cpp:44);0ns;1;0ns;0.0
+ | +-;parents;0ns;1;0ns;0.0
+ | +-;main (foox.cpp:119);0ns;1;0ns;0.0
+ +-;main;0ns;0;;0.0
+ +-;children;30.0ms;6;5.0ms;100.0
+ +-;A::foocpp::foocpp() (foox.cpp:42);0ns;1;0ns;0.0
+ +-;A::foocpp::func_a(int) (foox.cpp:99);10.0ms;1;10.0ms;33.333332
+ +-;A::foocpp::~foocpp() (foox.cpp:44);0ns;1;0ns;0.0
+ +-;B::foocpp::foocpp() (foox.cpp:42);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int) (foox.cpp:44);20.0ms;1;20.0ms;66.666664
+ +-;B::foocpp::~foocpp() (foox.cpp:86);0ns;1;0ns;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref
index 731eaf06bf..0a9da1243b 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref
@@ -1,18 +1,18 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
++-;Summary;3;;;100.0
+-;A::foocpp::foocpp();0;2;0ns;0.0
| +-;parents;0;2;0ns;0.0
| +-;B::foocpp::foocpp() (foox.cpp:82);0;1;0ns;0.0
| +-;main (foox.cpp:110);0;1;0ns;0.0
- +-;A::foocpp::func_a(int);0;2;0ns;0.0
+ +-;A::foocpp::func_a(int);1;2;5.0ms;33.333332
| +-;children;0;2;0ns;0.0
| | +-;A::foocpp::func_f(int) (foox.cpp:47);0;2;0ns;0.0
- | +-;parents;0;2;0ns;0.0
- | +-;B::foocpp::func_b(int) (foox.cpp:95);0;1;0ns;0.0
+ | +-;parents;2;2;10.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:95);2;1;20.0ms;66.666664
| +-;main (foox.cpp:112);0;1;0ns;0.0
+-;A::foocpp::func_f(int);0;2;0ns;0.0
- | +-;parents;0;2;0ns;0.0
- | +-;A::foocpp::func_a(int) (foox.cpp:59);0;2;0ns;0.0
+ | +-;parents;1;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:59);1;2;5.0ms;33.333332
+-;A::foocpp::~foocpp();0;2;0ns;0.0
| +-;parents;0;2;0ns;0.0
| +-;B::foocpp::~foocpp() (foox.cpp:87);0;1;0ns;0.0
@@ -22,9 +22,9 @@ Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
| | +-;A::foocpp::foocpp() (foox.cpp:42);0;1;0ns;0.0
| +-;parents;0;1;0ns;0.0
| +-;main (foox.cpp:109);0;1;0ns;0.0
- +-;B::foocpp::func_b(int);0;1;0ns;0.0
- | +-;children;0;1;0ns;0.0
- | | +-;A::foocpp::func_a(int) (foox.cpp:54);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int);2;1;20.0ms;66.666664
+ | +-;children;1;1;10.0ms;33.333332
+ | | +-;A::foocpp::func_a(int) (foox.cpp:54);1;1;10.0ms;33.333332
| +-;parents;0;1;0ns;0.0
| +-;main (foox.cpp:115);0;1;0ns;0.0
+-;B::foocpp::~foocpp();0;1;0ns;0.0
@@ -33,10 +33,10 @@ Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
| +-;parents;0;1;0ns;0.0
| +-;main (foox.cpp:119);0;1;0ns;0.0
+-;main;0;0;;0.0
- +-;children;0;6;0ns;0.0
+ +-;children;3;6;5.0ms;100.0
+-;A::foocpp::foocpp() (foox.cpp:42);0;1;0ns;0.0
- +-;A::foocpp::func_a(int) (foox.cpp:54);0;1;0ns;0.0
+ +-;A::foocpp::func_a(int) (foox.cpp:54);1;1;10.0ms;33.333332
+-;A::foocpp::~foocpp() (foox.cpp:44);0;1;0ns;0.0
+-;B::foocpp::foocpp() (foox.cpp:81);0;1;0ns;0.0
- +-;B::foocpp::func_b(int) (foox.cpp:91);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int) (foox.cpp:91);2;1;20.0ms;66.666664
+-;B::foocpp::~foocpp() (foox.cpp:86);0;1;0ns;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref.binutils-2.16 b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref.binutils-2.16
new file mode 100644
index 0000000000..9071bb7fa0
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testCallgraphView.ref.binutils-2.16
@@ -0,0 +1,42 @@
+Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
++-;Summary;3;;;100.0
+ +-;A::foocpp::foocpp();0;2;0ns;0.0
+ | +-;parents;0;2;0ns;0.0
+ | +-;B::foocpp::foocpp() (foox.cpp:82);0;1;0ns;0.0
+ | +-;main (foox.cpp:110);0;1;0ns;0.0
+ +-;A::foocpp::func_a(int);1;2;5.0ms;33.333332
+ | +-;children;0;2;0ns;0.0
+ | | +-;A::foocpp::func_f(int) (foox.cpp:47);0;2;0ns;0.0
+ | +-;parents;2;2;10.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:95);2;1;20.0ms;66.666664
+ | +-;main (foox.cpp:112);0;1;0ns;0.0
+ +-;A::foocpp::func_f(int);0;2;0ns;0.0
+ | +-;parents;1;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:59);1;2;5.0ms;33.333332
+ +-;A::foocpp::~foocpp();0;2;0ns;0.0
+ | +-;parents;0;2;0ns;0.0
+ | +-;B::foocpp::~foocpp() (foox.cpp:87);0;1;0ns;0.0
+ | +-;main (foox.cpp:118);0;1;0ns;0.0
+ +-;B::foocpp::foocpp();0;1;0ns;0.0
+ | +-;children;0;1;0ns;0.0
+ | | +-;A::foocpp::foocpp() (foox.cpp:42);0;1;0ns;0.0
+ | +-;parents;0;1;0ns;0.0
+ | +-;main (foox.cpp:109);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int);2;1;20.0ms;66.666664
+ | +-;children;1;1;10.0ms;33.333332
+ | | +-;A::foocpp::func_a(int) (foox.cpp:99);1;1;10.0ms;33.333332
+ | +-;parents;0;1;0ns;0.0
+ | +-;main (foox.cpp:115);0;1;0ns;0.0
+ +-;B::foocpp::~foocpp();0;1;0ns;0.0
+ | +-;children;0;1;0ns;0.0
+ | | +-;A::foocpp::~foocpp() (foox.cpp:44);0;1;0ns;0.0
+ | +-;parents;0;1;0ns;0.0
+ | +-;main (foox.cpp:119);0;1;0ns;0.0
+ +-;main;0;0;;0.0
+ +-;children;3;6;5.0ms;100.0
+ +-;A::foocpp::foocpp() (foox.cpp:42);0;1;0ns;0.0
+ +-;A::foocpp::func_a(int) (foox.cpp:99);1;1;10.0ms;33.333332
+ +-;A::foocpp::~foocpp() (foox.cpp:44);0;1;0ns;0.0
+ +-;B::foocpp::foocpp() (foox.cpp:42);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int) (foox.cpp:44);2;1;20.0ms;66.666664
+ +-;B::foocpp::~foocpp() (foox.cpp:86);0;1;0ns;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatSampleView.ref
index fbcbf2dadb..4e5ecab4fe 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatSampleView.ref
@@ -1,2 +1,8 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
++-;Summary;3;;;100.0
+ +-;A::foocpp::func_a(int) (foox.cpp:60);1;;;33.333332
+ | +-;0x8048b84;1;;;33.333332
+ +-;B::foocpp::func_b(int) (foox.cpp:93);1;;;33.333332
+ | +-;0x8048978;1;;;33.333332
+ +-;B::foocpp::func_b(int) (foox.cpp:97);1;;;33.333332
+ +-;0x8048a28;1;;;33.333332
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatTimeView.ref
index 5a2c2d2b95..201a2adaa4 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFlatTimeView.ref
@@ -1,2 +1,8 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
++-;Summary;30.0ms;;;100.0
+ +-;A::foocpp::func_a(int) (foox.cpp:60);10.0ms;;;33.333332
+ | +-;0x8048b84;10.0ms;;;33.333332
+ +-;B::foocpp::func_b(int) (foox.cpp:93);10.0ms;;;33.333332
+ | +-;0x8048978;10.0ms;;;33.333332
+ +-;B::foocpp::func_b(int) (foox.cpp:97);10.0ms;;;33.333332
+ +-;0x8048a28;10.0ms;;;33.333332
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionSampleView.ref
index d8781b2176..51d511c10c 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionSampleView.ref
@@ -1,10 +1,16 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
++-;Summary;3;;;100.0
+-;A::foocpp::foocpp();0;2;0ns;0.0
- +-;A::foocpp::func_a(int);0;2;0ns;0.0
+ +-;A::foocpp::func_a(int);1;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:60);1;;;33.333332
+ | +-;0x8048b84;1;;;33.333332
+-;A::foocpp::func_f(int);0;2;0ns;0.0
+-;A::foocpp::~foocpp();0;2;0ns;0.0
+-;B::foocpp::foocpp();0;1;0ns;0.0
- +-;B::foocpp::func_b(int);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int);2;1;20.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:93);1;;;33.333332
+ | | +-;0x8048978;1;;;33.333332
+ | +-;B::foocpp::func_b(int) (foox.cpp:97);1;;;33.333332
+ | +-;0x8048a28;1;;;33.333332
+-;B::foocpp::~foocpp();0;1;0ns;0.0
+-;main;0;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionTimeView.ref
index 1445068210..b30dc415e7 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testFunctionTimeView.ref
@@ -1,10 +1,16 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
++-;Summary;30.0ms;;;100.0
+-;A::foocpp::foocpp();0ns;2;0ns;0.0
- +-;A::foocpp::func_a(int);0ns;2;0ns;0.0
+ +-;A::foocpp::func_a(int);10.0ms;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:60);10.0ms;;;33.333332
+ | +-;0x8048b84;10.0ms;;;33.333332
+-;A::foocpp::func_f(int);0ns;2;0ns;0.0
+-;A::foocpp::~foocpp();0ns;2;0ns;0.0
+-;B::foocpp::foocpp();0ns;1;0ns;0.0
- +-;B::foocpp::func_b(int);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int);20.0ms;1;20.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:93);10.0ms;;;33.333332
+ | | +-;0x8048978;10.0ms;;;33.333332
+ | +-;B::foocpp::func_b(int) (foox.cpp:97);10.0ms;;;33.333332
+ | +-;0x8048a28;10.0ms;;;33.333332
+-;B::foocpp::~foocpp();0ns;1;0ns;0.0
+-;main;0ns;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testParse.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testParse.ref
index ce258c6da6..dfe78acfd8 100755
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testParse.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testParse.ref
@@ -6,8 +6,8 @@ tag 0
Histogram Header :
Base pc address of sample buffer = 0x804852c
- Max pc address of sampled buffer = 0x8048ee8
- Number of histogram samples = 623
+ Max pc address of sampled buffer = 0x8048e6c
+ Number of histogram samples = 592
Profiling clock rate = 100
Physical dimension abreviation : 's' for "seconds" 'm' for "milliseconds" = s
@@ -17,8 +17,8 @@ Histogram Header :
Histogram Header :
Base pc address of sample buffer = 0x804852c
- Max pc address of sampled buffer = 0x8048ee8
- Number of histogram samples = 623
+ Max pc address of sampled buffer = 0x8048e6c
+ Number of histogram samples = 592
Profiling clock rate = 100
Physical dimension abreviation : 's' for "seconds" 'm' for "milliseconds" = s
-- gmon Results --
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testSampleView.ref
index 92d6dcef41..3d1309e4be 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testSampleView.ref
@@ -1,11 +1,17 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
- +-;foox.cpp;0;;;0.0
++-;Summary;3;;;100.0
+ +-;foox.cpp;3;;;100.0
+-;A::foocpp::foocpp();0;2;0ns;0.0
- +-;A::foocpp::func_a(int);0;2;0ns;0.0
+ +-;A::foocpp::func_a(int);1;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:60);1;;;33.333332
+ | +-;0x8048b84;1;;;33.333332
+-;A::foocpp::func_f(int);0;2;0ns;0.0
+-;A::foocpp::~foocpp();0;2;0ns;0.0
+-;B::foocpp::foocpp();0;1;0ns;0.0
- +-;B::foocpp::func_b(int);0;1;0ns;0.0
+ +-;B::foocpp::func_b(int);2;1;20.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:93);1;;;33.333332
+ | | +-;0x8048978;1;;;33.333332
+ | +-;B::foocpp::func_b(int) (foox.cpp:97);1;;;33.333332
+ | +-;0x8048a28;1;;;33.333332
+-;B::foocpp::~foocpp();0;1;0ns;0.0
+-;main;0;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testTimeView.ref
index eed6086b75..0c8578b3ea 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foocpp_gprof_input/testTimeView.ref
@@ -1,11 +1,17 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
- +-;foox.cpp;0ns;;;0.0
++-;Summary;30.0ms;;;100.0
+ +-;foox.cpp;30.0ms;;;100.0
+-;A::foocpp::foocpp();0ns;2;0ns;0.0
- +-;A::foocpp::func_a(int);0ns;2;0ns;0.0
+ +-;A::foocpp::func_a(int);10.0ms;2;5.0ms;33.333332
+ | +-;A::foocpp::func_a(int) (foox.cpp:60);10.0ms;;;33.333332
+ | +-;0x8048b84;10.0ms;;;33.333332
+-;A::foocpp::func_f(int);0ns;2;0ns;0.0
+-;A::foocpp::~foocpp();0ns;2;0ns;0.0
+-;B::foocpp::foocpp();0ns;1;0ns;0.0
- +-;B::foocpp::func_b(int);0ns;1;0ns;0.0
+ +-;B::foocpp::func_b(int);20.0ms;1;20.0ms;66.666664
+ | +-;B::foocpp::func_b(int) (foox.cpp:93);10.0ms;;;33.333332
+ | | +-;0x8048978;10.0ms;;;33.333332
+ | +-;B::foocpp::func_b(int) (foox.cpp:97);10.0ms;;;33.333332
+ | +-;0x8048a28;10.0ms;;;33.333332
+-;B::foocpp::~foocpp();0ns;1;0ns;0.0
+-;main;0ns;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/a.out b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/a.out
index ba5cf0728e..216b3f936a 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/a.out
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/a.out
Binary files differ
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/gmon.out b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/gmon.out
index 8672eb9e2f..e1071405b1 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/gmon.out
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/gmon.out
Binary files differ
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/src/foox.c b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/src/foox.c
index eb4229177d..6f51dd8ae5 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/src/foox.c
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/src/foox.c
@@ -5,7 +5,7 @@ int func_b(int pb);
int func_a(int pa);
int dead_func(int pf);
-#define TIMEBASE 1
+#define TIMEBASE 300
#define TEMPO(TJ,TI, IN, OUT) { \
volatile double d1 = 0;\
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphTimeView.ref
index a35b57d371..8d8c46afcd 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphTimeView.ref
@@ -1,20 +1,20 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
- +-;func_a;0ns;2;0ns;0.0
- | +-;children;0ns;2;0ns;0.0
- | | +-;func_f (foox.c:29);0ns;2;0ns;0.0
- | +-;parents;0ns;2;0ns;0.0
- | +-;func_b (foox.c:53);0ns;1;0ns;0.0
++-;Summary;90.0ms;;;100.0
+ +-;func_a;50.0ms;2;25.0ms;55.555557
+ | +-;children;20.0ms;2;10.0ms;22.222221
+ | | +-;func_f (foox.c:29);20.0ms;2;10.0ms;22.222221
+ | +-;parents;20.0ms;2;10.0ms;22.222221
+ | +-;func_b (foox.c:53);20.0ms;1;20.0ms;22.222221
| +-;main (foox.c:62);0ns;1;0ns;0.0
- +-;func_b;0ns;1;0ns;0.0
- | +-;children;0ns;1;0ns;0.0
- | | +-;func_a (foox.c:36);0ns;1;0ns;0.0
+ +-;func_b;20.0ms;1;20.0ms;22.222221
+ | +-;children;50.0ms;1;50.0ms;55.555557
+ | | +-;func_a (foox.c:36);50.0ms;1;50.0ms;55.555557
| +-;parents;0ns;1;0ns;0.0
| +-;main (foox.c:64);0ns;1;0ns;0.0
- +-;func_f;0ns;2;0ns;0.0
- | +-;parents;0ns;2;0ns;0.0
- | +-;func_a (foox.c:41);0ns;2;0ns;0.0
+ +-;func_f;20.0ms;2;10.0ms;22.222221
+ | +-;parents;50.0ms;2;25.0ms;55.555557
+ | +-;func_a (foox.c:41);50.0ms;2;25.0ms;55.555557
+-;main;0ns;0;;0.0
- +-;children;0ns;2;0ns;0.0
- +-;func_a (foox.c:36);0ns;1;0ns;0.0
- +-;func_b (foox.c:50);0ns;1;0ns;0.0
+ +-;children;70.0ms;2;35.0ms;77.77778
+ +-;func_a (foox.c:36);50.0ms;1;50.0ms;55.555557
+ +-;func_b (foox.c:50);20.0ms;1;20.0ms;22.222221
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphView.ref
index cb1d570310..7fa76f0395 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testCallgraphView.ref
@@ -1,20 +1,20 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
- +-;func_a;0;2;0ns;0.0
- | +-;children;0;2;0ns;0.0
- | | +-;func_f (foox.c:29);0;2;0ns;0.0
- | +-;parents;0;2;0ns;0.0
- | +-;func_b (foox.c:53);0;1;0ns;0.0
++-;Summary;9;;;100.0
+ +-;func_a;5;2;25.0ms;55.555557
+ | +-;children;2;2;10.0ms;22.222221
+ | | +-;func_f (foox.c:29);2;2;10.0ms;22.222221
+ | +-;parents;2;2;10.0ms;22.222221
+ | +-;func_b (foox.c:53);2;1;20.0ms;22.222221
| +-;main (foox.c:62);0;1;0ns;0.0
- +-;func_b;0;1;0ns;0.0
- | +-;children;0;1;0ns;0.0
- | | +-;func_a (foox.c:36);0;1;0ns;0.0
+ +-;func_b;2;1;20.0ms;22.222221
+ | +-;children;5;1;50.0ms;55.555557
+ | | +-;func_a (foox.c:36);5;1;50.0ms;55.555557
| +-;parents;0;1;0ns;0.0
| +-;main (foox.c:64);0;1;0ns;0.0
- +-;func_f;0;2;0ns;0.0
- | +-;parents;0;2;0ns;0.0
- | +-;func_a (foox.c:41);0;2;0ns;0.0
+ +-;func_f;2;2;10.0ms;22.222221
+ | +-;parents;5;2;25.0ms;55.555557
+ | +-;func_a (foox.c:41);5;2;25.0ms;55.555557
+-;main;0;0;;0.0
- +-;children;0;2;0ns;0.0
- +-;func_a (foox.c:36);0;1;0ns;0.0
- +-;func_b (foox.c:50);0;1;0ns;0.0
+ +-;children;7;2;35.0ms;77.77778
+ +-;func_a (foox.c:36);5;1;50.0ms;55.555557
+ +-;func_b (foox.c:50);2;1;20.0ms;22.222221
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatSampleView.ref
index fbcbf2dadb..64cc9d3b64 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatSampleView.ref
@@ -1,2 +1,17 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
++-;Summary;9;;;100.0
+ +-;func_a (foox.c:38);2;;;22.222221
+ | +-;0x804861c;1;;;11.111111
+ | +-;0x8048624;1;;;11.111111
+ +-;func_a (foox.c:42);1;;;11.111111
+ | +-;0x80486d0;1;;;11.111111
+ +-;func_a (foox.c:45);2;;;22.222221
+ | +-;0x8048788;1;;;11.111111
+ | +-;0x8048798;1;;;11.111111
+ +-;func_b (foox.c:52);1;;;11.111111
+ | +-;0x8048820;1;;;11.111111
+ +-;func_b (foox.c:54);1;;;11.111111
+ | +-;0x80488dc;1;;;11.111111
+ +-;func_f (foox.c:31);2;;;22.222221
+ +-;0x804856c;1;;;11.111111
+ +-;0x804857c;1;;;11.111111
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatTimeView.ref
index 5a2c2d2b95..5655a5c4eb 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFlatTimeView.ref
@@ -1,2 +1,17 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
++-;Summary;90.0ms;;;100.0
+ +-;func_a (foox.c:38);20.0ms;;;22.222221
+ | +-;0x804861c;10.0ms;;;11.111111
+ | +-;0x8048624;10.0ms;;;11.111111
+ +-;func_a (foox.c:42);10.0ms;;;11.111111
+ | +-;0x80486d0;10.0ms;;;11.111111
+ +-;func_a (foox.c:45);20.0ms;;;22.222221
+ | +-;0x8048788;10.0ms;;;11.111111
+ | +-;0x8048798;10.0ms;;;11.111111
+ +-;func_b (foox.c:52);10.0ms;;;11.111111
+ | +-;0x8048820;10.0ms;;;11.111111
+ +-;func_b (foox.c:54);10.0ms;;;11.111111
+ | +-;0x80488dc;10.0ms;;;11.111111
+ +-;func_f (foox.c:31);20.0ms;;;22.222221
+ +-;0x804856c;10.0ms;;;11.111111
+ +-;0x804857c;10.0ms;;;11.111111
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionSampleView.ref
index b846bc4cd5..fd9e91710b 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionSampleView.ref
@@ -1,6 +1,21 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
- +-;func_a;0;2;0ns;0.0
- +-;func_b;0;1;0ns;0.0
- +-;func_f;0;2;0ns;0.0
++-;Summary;9;;;100.0
+ +-;func_a;5;2;25.0ms;55.555557
+ | +-;func_a (foox.c:38);2;;;22.222221
+ | | +-;0x804861c;1;;;11.111111
+ | | +-;0x8048624;1;;;11.111111
+ | +-;func_a (foox.c:42);1;;;11.111111
+ | | +-;0x80486d0;1;;;11.111111
+ | +-;func_a (foox.c:45);2;;;22.222221
+ | +-;0x8048788;1;;;11.111111
+ | +-;0x8048798;1;;;11.111111
+ +-;func_b;2;1;20.0ms;22.222221
+ | +-;func_b (foox.c:52);1;;;11.111111
+ | | +-;0x8048820;1;;;11.111111
+ | +-;func_b (foox.c:54);1;;;11.111111
+ | +-;0x80488dc;1;;;11.111111
+ +-;func_f;2;2;10.0ms;22.222221
+ | +-;func_f (foox.c:31);2;;;22.222221
+ | +-;0x804856c;1;;;11.111111
+ | +-;0x804857c;1;;;11.111111
+-;main;0;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionTimeView.ref
index d62b4b4d96..2cbb2952b2 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testFunctionTimeView.ref
@@ -1,6 +1,21 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
- +-;func_a;0ns;2;0ns;0.0
- +-;func_b;0ns;1;0ns;0.0
- +-;func_f;0ns;2;0ns;0.0
++-;Summary;90.0ms;;;100.0
+ +-;func_a;50.0ms;2;25.0ms;55.555557
+ | +-;func_a (foox.c:38);20.0ms;;;22.222221
+ | | +-;0x804861c;10.0ms;;;11.111111
+ | | +-;0x8048624;10.0ms;;;11.111111
+ | +-;func_a (foox.c:42);10.0ms;;;11.111111
+ | | +-;0x80486d0;10.0ms;;;11.111111
+ | +-;func_a (foox.c:45);20.0ms;;;22.222221
+ | +-;0x8048788;10.0ms;;;11.111111
+ | +-;0x8048798;10.0ms;;;11.111111
+ +-;func_b;20.0ms;1;20.0ms;22.222221
+ | +-;func_b (foox.c:52);10.0ms;;;11.111111
+ | | +-;0x8048820;10.0ms;;;11.111111
+ | +-;func_b (foox.c:54);10.0ms;;;11.111111
+ | +-;0x80488dc;10.0ms;;;11.111111
+ +-;func_f;20.0ms;2;10.0ms;22.222221
+ | +-;func_f (foox.c:31);20.0ms;;;22.222221
+ | +-;0x804856c;10.0ms;;;11.111111
+ | +-;0x804857c;10.0ms;;;11.111111
+-;main;0ns;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testParse.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testParse.ref
index f3f8314b92..80ff59cfec 100755
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testParse.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testParse.ref
@@ -5,9 +5,9 @@ tag 0
Histogram Header :
- Base pc address of sample buffer = 0x8048360
- Max pc address of sampled buffer = 0x8048be8
- Number of histogram samples = 546
+ Base pc address of sample buffer = 0x804838c
+ Max pc address of sampled buffer = 0x8048c28
+ Number of histogram samples = 552
Profiling clock rate = 100
Physical dimension abreviation : 's' for "seconds" 'm' for "milliseconds" = s
@@ -16,9 +16,9 @@ Histogram Header :
Histogram Header :
- Base pc address of sample buffer = 0x8048360
- Max pc address of sampled buffer = 0x8048be8
- Number of histogram samples = 546
+ Base pc address of sample buffer = 0x804838c
+ Max pc address of sampled buffer = 0x8048c28
+ Number of histogram samples = 552
Profiling clock rate = 100
Physical dimension abreviation : 's' for "seconds" 'm' for "milliseconds" = s
-- gmon Results --
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testSampleView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testSampleView.ref
index 0db178c041..72dd675ede 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testSampleView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testSampleView.ref
@@ -1,7 +1,22 @@
Hierarchy;Name (location);Samples;Calls;Time/Call;%Time
-+-;Summary;0;;;0.0
- +-;foox.c;0;;;0.0
- +-;func_a;0;2;0ns;0.0
- +-;func_b;0;1;0ns;0.0
- +-;func_f;0;2;0ns;0.0
++-;Summary;9;;;100.0
+ +-;foox.c;9;;;100.0
+ +-;func_a;5;2;25.0ms;55.555557
+ | +-;func_a (foox.c:38);2;;;22.222221
+ | | +-;0x804861c;1;;;11.111111
+ | | +-;0x8048624;1;;;11.111111
+ | +-;func_a (foox.c:42);1;;;11.111111
+ | | +-;0x80486d0;1;;;11.111111
+ | +-;func_a (foox.c:45);2;;;22.222221
+ | +-;0x8048788;1;;;11.111111
+ | +-;0x8048798;1;;;11.111111
+ +-;func_b;2;1;20.0ms;22.222221
+ | +-;func_b (foox.c:52);1;;;11.111111
+ | | +-;0x8048820;1;;;11.111111
+ | +-;func_b (foox.c:54);1;;;11.111111
+ | +-;0x80488dc;1;;;11.111111
+ +-;func_f;2;2;10.0ms;22.222221
+ | +-;func_f (foox.c:31);2;;;22.222221
+ | +-;0x804856c;1;;;11.111111
+ | +-;0x804857c;1;;;11.111111
+-;main;0;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testTimeView.ref b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testTimeView.ref
index ff055e49a5..e4fbd69338 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testTimeView.ref
+++ b/gprof/org.eclipse.linuxtools.gprof.test/foox_gprof_input/testTimeView.ref
@@ -1,7 +1,22 @@
Hierarchy;Name (location);Time;Calls;Time/Call;%Time
-+-;Summary;0ns;;;0.0
- +-;foox.c;0ns;;;0.0
- +-;func_a;0ns;2;0ns;0.0
- +-;func_b;0ns;1;0ns;0.0
- +-;func_f;0ns;2;0ns;0.0
++-;Summary;90.0ms;;;100.0
+ +-;foox.c;90.0ms;;;100.0
+ +-;func_a;50.0ms;2;25.0ms;55.555557
+ | +-;func_a (foox.c:38);20.0ms;;;22.222221
+ | | +-;0x804861c;10.0ms;;;11.111111
+ | | +-;0x8048624;10.0ms;;;11.111111
+ | +-;func_a (foox.c:42);10.0ms;;;11.111111
+ | | +-;0x80486d0;10.0ms;;;11.111111
+ | +-;func_a (foox.c:45);20.0ms;;;22.222221
+ | +-;0x8048788;10.0ms;;;11.111111
+ | +-;0x8048798;10.0ms;;;11.111111
+ +-;func_b;20.0ms;1;20.0ms;22.222221
+ | +-;func_b (foox.c:52);10.0ms;;;11.111111
+ | | +-;0x8048820;10.0ms;;;11.111111
+ | +-;func_b (foox.c:54);10.0ms;;;11.111111
+ | +-;0x80488dc;10.0ms;;;11.111111
+ +-;func_f;20.0ms;2;10.0ms;22.222221
+ | +-;func_f (foox.c:31);20.0ms;;;22.222221
+ | +-;0x804856c;10.0ms;;;11.111111
+ | +-;0x804857c;10.0ms;;;11.111111
+-;main;0ns;0;;0.0
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/plugin.properties b/gprof/org.eclipse.linuxtools.gprof.test/plugin.properties
index 638c272608..7da3aba13a 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/plugin.properties
+++ b/gprof/org.eclipse.linuxtools.gprof.test/plugin.properties
@@ -9,4 +9,4 @@
# Red Hat, Inc. - initial API and implementation
#*******************************************************************************
bundleName=Gprof JUnit Test Fragment (Incubation)
-bundleProvider=Eclipse \ No newline at end of file
+bundleProvider=Eclipse Linux Tools \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofAggregatorTest.java b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofAggregatorTest.java
index 19ec1be733..b6fb8f98ce 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofAggregatorTest.java
+++ b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofAggregatorTest.java
@@ -61,9 +61,13 @@ public class GprofAggregatorTest extends TestCase {
s.add(gmon.toString());
String gprof2use="gprof";
+ File f = Aggregator.aggregate(gprof2use, binary, s, directory);
+
+ Process p = Runtime.getRuntime().exec(new String[] {gprof2use, binary, f.getAbsolutePath()});
+ Process p2 = Runtime.getRuntime().exec(new String[] {gprof2use, binary, directory + File.separator + "gmon.sum.ref"});
-
- File f = Aggregator.aggregate(gprof2use, binary, s, directory);
- STJunitUtils.compare(f.getAbsolutePath(), directory + File.separator + "gmon.sum.ref", true);
+ STJunitUtils.compare(p.getInputStream(), p2.getInputStream());
+ p.waitFor();
+ p2.waitFor();
}
}
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofTest.java b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofTest.java
index a56c563e6c..ea54907983 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofTest.java
+++ b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/GprofTest.java
@@ -14,6 +14,9 @@ package org.eclipse.linuxtools.gprof.test;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
import junit.framework.Test;
import junit.framework.TestCase;
@@ -49,15 +52,45 @@ public class GprofTest extends TestCase {
public static Test suite() {
TestSuite ats = new TestSuite("GProf:View CSV Export");
-
- File[] testDirs = STJunitUtils.getTestDirs("org.eclipse.linuxtools.gprof.test", ".*" + GMON_DIRECTORY_SUFFIX);
+ boolean addr2line2_16 = false;
+ try {
+ Process p = Runtime.getRuntime().exec("addr2line --version");
+ InputStream is = p.getInputStream();
+ LineNumberReader reader = new LineNumberReader(new InputStreamReader(is));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ if (line.contains("addr2line 2.16.")) {
+ addr2line2_16 = true;
+ break;
+ }
+ }
+ } catch (Exception _) {
+ }
+
+ File[] testDirs = STJunitUtils.getTestDirs("org.eclipse.linuxtools.gprof.test",
+ ".*" + GMON_DIRECTORY_SUFFIX);
for (File testDir : testDirs) {
final File gmonFile = new File(testDir, GMON_OUTPUT_FILE);
final File binaryFile = new File(testDir, GMON_BINARY_FILE);
- final File view_cg_RefFile = new File(testDir, "testCallgraphView.ref");
- final File view_cg_DumpFile = new File(testDir, "testCallgraphView.dump");
- final File view_cg2_RefFile = new File(testDir, "testCallgraphTimeView.ref");
+
+ File view_cg_RefFile_default = new File(testDir, "testCallgraphView.ref");
+ File view_cg_RefFile_alternate = new File(testDir, "testCallgraphView.ref.binutils-2.16");
+ File view_cg2_RefFile_default = new File(testDir, "testCallgraphTimeView.ref");
+ File view_cg2_RefFile_alternate = new File(testDir, "testCallgraphTimeView.ref.binutils-2.16");
+ final File view_cg_RefFile;
+ final File view_cg2_RefFile;
+ if (addr2line2_16 && view_cg_RefFile_alternate.exists()) {
+ view_cg_RefFile = view_cg_RefFile_alternate;
+ } else {
+ view_cg_RefFile = view_cg_RefFile_default;
+ }
+ if (addr2line2_16 && view_cg2_RefFile_alternate.exists()) {
+ view_cg2_RefFile = view_cg2_RefFile_alternate;
+ } else {
+ view_cg2_RefFile = view_cg2_RefFile_default;
+ }
final File view_cg2_DumpFile = new File(testDir, "testCallgraphTimeView.dump");
+ final File view_cg_DumpFile = new File(testDir, "testCallgraphView.dump");
final File view_samplesFile_RefFile = new File(testDir, "testSampleView.ref");
final File view_samplesFile_DumpFile = new File(testDir, "testSampleView.dump");
@@ -73,68 +106,82 @@ public class GprofTest extends TestCase {
final File view_samplesFlatT_RefFile = new File(testDir, "testFlatTimeView.ref");
final File view_samplesFlatT_DumpFile = new File(testDir, "testFlatTimeView.dump");
- IBinaryObject binary = STSymbolManager.sharedInstance.getBinaryObject(new Path(binaryFile.getAbsolutePath()));
+ IBinaryObject binary = STSymbolManager.sharedInstance.getBinaryObject(
+ new Path(binaryFile.getAbsolutePath()));
final GmonDecoder gd = new GmonDecoder(binary);
try {
gd.read(gmonFile.getAbsolutePath());
} catch (IOException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
}
ats.addTest(
new TestCase(testDir.getName() + ":CSV-CALLGRAPH") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_cg_RefFile, view_cg_DumpFile, CallGraphContentProvider.sharedInstance, false);
+ testView(gmonFile, gd, view_cg_RefFile, view_cg_DumpFile,
+ CallGraphContentProvider.sharedInstance, false);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-CALLGRAPH-TIMED") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_cg2_RefFile, view_cg2_DumpFile, CallGraphContentProvider.sharedInstance, true);
+ testView(gmonFile, gd, view_cg2_RefFile, view_cg2_DumpFile,
+ CallGraphContentProvider.sharedInstance, true);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FILE") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFile_RefFile, view_samplesFile_DumpFile, FileHistogramContentProvider.sharedInstance, false);
+ testView(gmonFile, gd, view_samplesFile_RefFile,
+ view_samplesFile_DumpFile,
+ FileHistogramContentProvider.sharedInstance, false);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FILE-TIMED") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFileT_RefFile, view_samplesFileT_DumpFile, FileHistogramContentProvider.sharedInstance, true);
+ testView(gmonFile, gd, view_samplesFileT_RefFile,
+ view_samplesFileT_DumpFile,
+ FileHistogramContentProvider.sharedInstance, true);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FUNCTION") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFunction_RefFile, view_samplesFunction_DumpFile, FunctionHistogramContentProvider.sharedInstance, false);
+ testView(gmonFile, gd, view_samplesFunction_RefFile,
+ view_samplesFunction_DumpFile,
+ FunctionHistogramContentProvider.sharedInstance, false);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FUNCTION-TIMED") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFunctionT_RefFile, view_samplesFunctionT_DumpFile, FunctionHistogramContentProvider.sharedInstance, true);
+ testView(gmonFile, gd, view_samplesFunctionT_RefFile,
+ view_samplesFunctionT_DumpFile,
+ FunctionHistogramContentProvider.sharedInstance, true);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FLAT") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFlat_RefFile, view_samplesFlat_DumpFile, FlatHistogramContentProvider.sharedInstance, false);
+ testView(gmonFile, gd, view_samplesFlat_RefFile,
+ view_samplesFlat_DumpFile,
+ FlatHistogramContentProvider.sharedInstance, false);
}
}
);
ats.addTest(
new TestCase(testDir.getName() + ":CSV-FLAT-TIMED") {
public void runTest() throws Throwable {
- testView(gmonFile, gd, view_samplesFlatT_RefFile, view_samplesFlatT_DumpFile, FlatHistogramContentProvider.sharedInstance, true);
+ testView(gmonFile, gd, view_samplesFlatT_RefFile,
+ view_samplesFlatT_DumpFile,
+ FlatHistogramContentProvider.sharedInstance, true);
}
}
);
@@ -163,7 +210,9 @@ public class GprofTest extends TestCase {
File refFile, File dumpFile,
ITreeContentProvider contentProvider, boolean timeMode) throws Exception {
GmonView view = GmonView.displayGprofView(gd, gmonFile.getAbsolutePath(), null);
- SwitchContentProviderAction action = new SwitchContentProviderAction("testAction", "icons/ch_callees.png" /*to avoid error*/, view.getSTViewer().getViewer(), contentProvider);
+ SwitchContentProviderAction action = new SwitchContentProviderAction("testAction",
+ "icons/ch_callees.png" /*to avoid error*/, view.getSTViewer().getViewer(),
+ contentProvider);
action.run();
changeMode(view, timeMode);
STJunitUtils.testCSVExport(view, dumpFile.getAbsolutePath(), refFile.getAbsolutePath());
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/STJunitUtils.java b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/STJunitUtils.java
index f5768fdb10..e81ad0c3c1 100644
--- a/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/STJunitUtils.java
+++ b/gprof/org.eclipse.linuxtools.gprof.test/src/org/eclipse/linuxtools/gprof/test/STJunitUtils.java
@@ -45,11 +45,11 @@ public class STJunitUtils {
* @param dumpFullFileName
* @param refFullFileName
*/
- public static void testCSVExport(AbstractSTDataView view, String dumpFullFileName, String refFullFileName) {
+ public static boolean testCSVExport(AbstractSTDataView view, String dumpFullFileName, String refFullFileName) {
STDataViewersCSVExporter exporter = new STDataViewersCSVExporter(view.getSTViewer());
exporter.exportTo(dumpFullFileName, new NullProgressMonitor());
// compare with ref
- compareCSVIgnoreEOL(dumpFullFileName, refFullFileName, true);
+ return compareCSVIgnoreEOL(dumpFullFileName, refFullFileName, true);
}
/**
@@ -174,13 +174,22 @@ public class STJunitUtils {
break;
}
} while (true);
-
- if (!equals) {
- junit.framework.Assert.assertEquals(message + ": not correspond ", true, false);
- }
is1.close();
is2.close();
+ if (!equals) {
+ StringBuffer msg = new StringBuffer(message + ": not correspond ");
+ msg.append("\n========= begin dump file =========\n");
+ FileReader fr = new FileReader(dumpFile);
+ int c;
+ while ((c = fr.read()) != -1) {
+ msg.append((char) c);
+ }
+ fr.close();
+ msg.append("\n========= end dump file =========\n");
+ junit.framework.Assert.assertEquals(msg.toString(), true, false);
+ }
+
// delete dump only for successful tests
if (equals && deleteDumpFileIfOk) {
new File(dumpFile).delete();
diff --git a/gprof/org.eclipse.linuxtools.gprof.test/test.xml b/gprof/org.eclipse.linuxtools.gprof.test/test.xml
index 8550c8a3d3..d8000bdc1a 100755
--- a/gprof/org.eclipse.linuxtools.gprof.test/test.xml
+++ b/gprof/org.eclipse.linuxtools.gprof.test/test.xml
@@ -6,7 +6,7 @@
<!-- The property ${eclipse-home} should be passed into this script -->
<!-- Set a meaningful default value for when it is not. -->
- <property name="eclipse-home" value="${basedir}/../../eclipse/" />
+ <property name="eclipse-home" value="${basedir}/../../" />
<property name="library-file" value="${eclipse-home}/dropins/${subProjectName2}/plugins/org.eclipse.test/library.xml" />
diff --git a/gprof/org.eclipse.linuxtools.gprof/META-INF/MANIFEST.MF b/gprof/org.eclipse.linuxtools.gprof/META-INF/MANIFEST.MF
index 667db627f9..0f36ee92f4 100644
--- a/gprof/org.eclipse.linuxtools.gprof/META-INF/MANIFEST.MF
+++ b/gprof/org.eclipse.linuxtools.gprof/META-INF/MANIFEST.MF
@@ -13,7 +13,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.cdt.core,
org.eclipse.linuxtools.dataviewers,
org.eclipse.linuxtools.binutils,
- org.eclipse.cdt.launch
+ org.eclipse.cdt.launch,
+ org.eclipse.linuxtools.dataviewers.charts
Bundle-ActivationPolicy: lazy
Export-Package: org.eclipse.linuxtools.gprof,
org.eclipse.linuxtools.gprof.utils,
diff --git a/gprof/org.eclipse.linuxtools.gprof/about.html b/gprof/org.eclipse.linuxtools.gprof/about.html
index 0c6525d9a8..c258ef55d8 100644
--- a/gprof/org.eclipse.linuxtools.gprof/about.html
+++ b/gprof/org.eclipse.linuxtools.gprof/about.html
@@ -1,33 +1,28 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h2>About This Content</h2>
-<p>24th October, 2008</p>
+<p>June 5, 2006</p>
<h3>License</h3>
-<p>The Eclipse Software Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-<p>If this Content is licensed to you under the terms and conditions of the EPL, any Contributions, as defined in the EPL, uploaded, submitted, or otherwise
-made available to the Eclipse Foundation, its members and/or the host of the Eclipse Foundation web site, by you that relate to such
-Content are provided under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-<p>If this Content is licensed to you under license terms and conditions other than the EPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to the Eclipse Foundation, its members and/or the
-host of the Eclipse Foundation web site, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the <a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>
-for the Eclipse Foundation web site and such Modifications can be made available to others under the terms of the licenses as set out in the
-<a href="http://www.eclipse.org/legal/termsofuse.html">Terms of Use</a>.</p>
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
</body>
</html> \ No newline at end of file
diff --git a/gprof/org.eclipse.linuxtools.gprof/plugin.properties b/gprof/org.eclipse.linuxtools.gprof/plugin.properties
index f0294b2a9c..68d1b960b5 100644
--- a/gprof/org.eclipse.linuxtools.gprof/plugin.properties
+++ b/gprof/org.eclipse.linuxtools.gprof/plugin.properties
@@ -8,7 +8,7 @@
# Contributors:
# Xavier Raynaud <xavier.raynaud@st.com> - initial API and implementation
#*******************************************************************************
-bundleProvider = Eclipse
+bundleProvider = Eclipse Linux Tools
bundleName = Gprof Plug-in (Incubation)
gprofEditor = Gprof Editor
gprof = gprof
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder.java
index 80c97e6fc3..3f84fb5075 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder.java
@@ -31,7 +31,7 @@ import org.eclipse.linuxtools.gprof.view.histogram.HistRoot;
*/
public class CallGraphDecoder {
- private final GmonDecoder decoder;
+ protected final GmonDecoder decoder;
private final Map<ISymbol, CallGraphNode> nodes = new HashMap<ISymbol, CallGraphNode>();
@@ -54,6 +54,8 @@ public class CallGraphDecoder {
int _self_pc = stream.readInt();
long from_pc = _from_pc & 0xFFFFFFFFL;
long self_pc = _self_pc & 0xFFFFFFFFL;
+ //long from_pc = stream.readLong();
+ //long self_pc = stream.readLong();
int count = stream.readInt();
IBinaryObject program = decoder.getProgram();
IAddressFactory addressFactory = program.getAddressFactory();
@@ -67,7 +69,7 @@ public class CallGraphDecoder {
addCallArc(parentSymbol, parentAddress, childSymbol, count);
}
- private void addCallArc(ISymbol parent, IAddress parentAddress, ISymbol child, int count)
+ public void addCallArc(ISymbol parent, IAddress parentAddress, ISymbol child, int count)
{
CallGraphNode parentNode = nodes.get(parent);
CallGraphNode childNode = nodes.get(child);
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder_64.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder_64.java
new file mode 100644
index 0000000000..a3c77b0e6e
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/CallGraphDecoder_64.java
@@ -0,0 +1,42 @@
+package org.eclipse.linuxtools.gprof.parser;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+import org.eclipse.cdt.core.IAddress;
+import org.eclipse.cdt.core.IAddressFactory;
+import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
+import org.eclipse.cdt.core.IBinaryParser.ISymbol;
+
+public class CallGraphDecoder_64 extends CallGraphDecoder{
+
+
+
+ public CallGraphDecoder_64(GmonDecoder decoder) {
+ super(decoder);
+
+ }
+
+ @Override
+ public void decodeCallGraphRecord(DataInput stream) throws IOException {
+ /*int _from_pc = stream.readInt();
+ int _self_pc = stream.readInt();
+ long from_pc = _from_pc & 0xFFFFFFFFL;
+ long self_pc = _self_pc & 0xFFFFFFFFL;*/
+ long from_pc = stream.readLong();
+ long self_pc = stream.readLong();
+ int count = stream.readInt();
+ IBinaryObject program = decoder.getProgram();
+ IAddressFactory addressFactory = program.getAddressFactory();
+ IAddress parentAddress = addressFactory.createAddress(Long.toString(from_pc));
+ ISymbol parentSymbol = program.getSymbol(parentAddress);
+ IAddress childAddress = addressFactory.createAddress(Long.toString(self_pc));
+ ISymbol childSymbol = program.getSymbol(childAddress);
+ if (childSymbol == null || parentSymbol == null) {
+ return;
+ }
+ addCallArc(parentSymbol, parentAddress, childSymbol, count);
+ }
+
+
+}
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/GmonDecoder.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/GmonDecoder.java
index 1fcb8ef1e7..c5b65012e9 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/GmonDecoder.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/GmonDecoder.java
@@ -30,7 +30,6 @@ import org.eclipse.linuxtools.gprof.utils.LEDataInputStream;
import org.eclipse.linuxtools.gprof.view.histogram.HistRoot;
-
/**
* Parser of gmon file
*/
@@ -49,8 +48,8 @@ public class GmonDecoder {
private byte[] spare;
private final IBinaryObject program;
- private final HistogramDecoder histo;
- private final CallGraphDecoder callGraph;
+ private HistogramDecoder histo;
+ private CallGraphDecoder callGraph;
private final PrintStream ps;
private final HistRoot rootNode = new HistRoot(this);
private String file;
@@ -65,6 +64,7 @@ public class GmonDecoder {
/**
* Constructor
* @param program
+ * @throws IOException
*/
public GmonDecoder(IBinaryObject program) {
this(program, null);
@@ -74,12 +74,20 @@ public class GmonDecoder {
/**
* Constructor
* @param program
+ * @throws IOException
*/
public GmonDecoder(IBinaryObject program, PrintStream ps) {
this.program = program;
- histo = new HistogramDecoder(this);
- callGraph = new CallGraphDecoder(this);
this.ps = ps;
+ program.getBinaryParser().getFormat();
+ if ("x86_64".equals(program.getCPU())){
+ histo = new HistogramDecoder_64(this);
+ callGraph = new CallGraphDecoder_64(this);
+ }
+ else {
+ histo = new HistogramDecoder(this);
+ callGraph = new CallGraphDecoder(this);
+ }
}
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder.java
index 91f36bbfc3..0c766956c4 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder.java
@@ -26,30 +26,29 @@ import org.eclipse.linuxtools.gprof.view.histogram.HistRoot;
public class HistogramDecoder {
/** the decoder */
- private final GmonDecoder decoder;
+ protected final GmonDecoder decoder;
// histogram header
/** Base pc address of sampled buffer */
- private long lowpc;
+ protected long lowpc;
/** Max pc address of sampled buffer */
- private long highpc;
+ protected long highpc;
/** Profiling clock rate */
- private int prof_rate;
+ protected int prof_rate;
/** physical dimension - usually "seconds" */
- private String dimen;
+ protected String dimen;
/** usually 's' for seconds, 'm' for milliseconds... */
- private char dimen_abbrev;
+ protected char dimen_abbrev;
/** used when aggregate several gmon files */
- private boolean initialized = false;
+ protected boolean initialized = false;
/** Histogram samples (shorts in the file!). */
- private int[] hist_sample;
+ protected int[] hist_sample;
/** Total time for all routines. */
- private double total_time;
- private double scale;
+ protected double total_time;
- private long bucketSize;
+ protected long bucketSize;
/**
@@ -79,7 +78,7 @@ public class HistogramDecoder {
* @param stream
* @throws IOException
*/
- public void decodeAll(DataInput stream) throws IOException {
+ protected void decodeAll(DataInput stream) throws IOException {
decodeHeader(stream);
decodeHistRecord(stream);
AssignSamplesSymbol();
@@ -96,6 +95,8 @@ public class HistogramDecoder {
long lowpc = (_lowpc & 0xFFFFFFFFL);
int _highpc = stream.readInt();
long highpc = (_highpc & 0xFFFFFFFFL);
+ //long lowpc = stream.readLong();
+ //long highpc = stream.readLong();
int hist_num_bins = stream.readInt();
int prof_rate = stream.readInt();
byte[] bytes = new byte[15];
@@ -113,9 +114,8 @@ public class HistogramDecoder {
hist_sample = new int[hist_num_bins]; // Impl note: JVM sets all integers to 0
dimen = new String(bytes);
dimen_abbrev = (char) b;
- scale = (highpc - lowpc)/(double)hist_num_bins;
- bucketSize = (highpc - lowpc)/(hist_num_bins - 1);
- if (bucketSize > scale) scale = bucketSize;
+ long temp = highpc - lowpc;
+ bucketSize = Math.round(temp/(double)hist_num_bins);
}
/**
@@ -185,16 +185,13 @@ public class HistogramDecoder {
printHistHeader(ps);
/*ps.println(" \nHistogram Samples : ");
- ISymbol[] symbols = this.program.getSymbols();
- for (int i = 0 ; i< symbols.length; i++) {
- if (buckets[i] != null) {
- System.out.println(symbols[i].getName());
- for (Bucket b : buckets[i]) {
- System.out.println(" " + b.start_addr + " :: " + b.time);
- }
- }
- }*/
-
+ ISymbol[] symbols = this.decoder.getProgram().getSymbols();
+ for (ISymbol iSymbol : symbols) {
+ ps.println(iSymbol.getName() + "\t" + iSymbol.getAddress());
+ }
+ for (int i = 0; i<hist_sample.length; i++) {
+ ps.println("histSample[" + i + "]\t" + hist_sample[i]);
+ }*/
}
/**
@@ -212,8 +209,8 @@ public class HistogramDecoder {
int ccnt = hist_sample[i];
if (ccnt != 0)
{
- long pcl = lowpc + (long) (scale*i);
- long pch = lowpc + (long) (scale * (i+1));
+ long pcl = lowpc + (bucketSize*i);
+ long pch = pcl+bucketSize;
total_time += ccnt;
long svalue0;
long svalue1 = symblist[j-1].getAddress().getValue().longValue();
@@ -234,7 +231,7 @@ public class HistogramDecoder {
long overlap = end_addr - start_addr;
if(overlap > 0)
{
- int time = (int) ((overlap * ccnt) / scale);
+ int time = (int) ((overlap * ccnt) / bucketSize);
Bucket bck = new Bucket(start_addr, end_addr, time);
addBucket(bck,symblist[j]);
}
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder_64.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder_64.java
new file mode 100644
index 0000000000..70d78194b0
--- /dev/null
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/parser/HistogramDecoder_64.java
@@ -0,0 +1,44 @@
+package org.eclipse.linuxtools.gprof.parser;
+
+import java.io.DataInput;
+import java.io.IOException;
+
+public class HistogramDecoder_64 extends HistogramDecoder {
+
+
+ public HistogramDecoder_64(GmonDecoder decoder) {
+ super(decoder);
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public void decodeHeader(DataInput stream) throws IOException {
+ //int _lowpc = stream.readInt();
+ //long lowpc = (_lowpc & 0xFFFFFFFFL);
+ //int _highpc = stream.readInt();
+ //long highpc = (_highpc & 0xFFFFFFFFL);
+ long lowpc = stream.readLong();
+ long highpc = stream.readLong();
+ int hist_num_bins = stream.readInt();
+ int prof_rate = stream.readInt();
+ byte[] bytes = new byte[15];
+ stream.readFully(bytes);
+ byte b = stream.readByte();
+
+ if (!isCompatible(lowpc, highpc, prof_rate, hist_num_bins))
+ {
+ // TODO exception to normalize
+ throw new RuntimeException("Histogram header's incompatibility among gmon files");
+ }
+ this.lowpc = lowpc;
+ this.highpc = highpc;
+ this.prof_rate = prof_rate;
+ hist_sample = new int[hist_num_bins]; // Impl note: JVM sets all integers to 0
+ dimen = new String(bytes);
+ dimen_abbrev = (char) b;
+ long temp = highpc - lowpc;
+ bucketSize = Math.round(temp/(double)hist_num_bins);
+ }
+
+
+}
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/GmonView.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/GmonView.java
index da29147709..295ce64e0a 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/GmonView.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/GmonView.java
@@ -24,6 +24,7 @@ import org.eclipse.linuxtools.binutils.utils.STSymbolManager;
import org.eclipse.linuxtools.dataviewers.abstractview.AbstractSTDataView;
import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTViewer;
import org.eclipse.linuxtools.dataviewers.actions.STExportToCSVAction;
+import org.eclipse.linuxtools.dataviewers.charts.actions.ChartAction;
import org.eclipse.linuxtools.gprof.Activator;
import org.eclipse.linuxtools.gprof.action.SwitchContentProviderAction;
import org.eclipse.linuxtools.gprof.action.SwitchSampleTimeAction;
@@ -94,6 +95,7 @@ public class GmonView extends AbstractSTDataView {
manager.add(new Separator());
manager.add(switchSampleTime);
manager.add(new Separator());
+ manager.add(new ChartAction(getViewSite().getShell(), getSTViewer()));
}
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/CallsProfField.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/CallsProfField.java
index 0b9ffea0cc..31602a7163 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/CallsProfField.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/CallsProfField.java
@@ -11,6 +11,7 @@
package org.eclipse.linuxtools.gprof.view.fields;
import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTDataViewersField;
+import org.eclipse.linuxtools.dataviewers.charts.provider.IChartField;
import org.eclipse.linuxtools.gprof.view.GmonView;
import org.eclipse.linuxtools.gprof.view.histogram.CGArc;
import org.eclipse.linuxtools.gprof.view.histogram.CGCategory;
@@ -25,7 +26,7 @@ import org.eclipse.swt.graphics.Color;
*
* @author Xavier Raynaud <xavier.raynaud@st.com>
*/
-public class CallsProfField extends AbstractSTDataViewersField {
+public class CallsProfField extends AbstractSTDataViewersField implements IChartField{
/*
* (non-Javadoc)
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/RatioProfField.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/RatioProfField.java
index 14b944a692..45fc066429 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/RatioProfField.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/RatioProfField.java
@@ -15,6 +15,7 @@ import java.text.DecimalFormat;
import java.text.NumberFormat;
import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractPercentageDrawerField;
+import org.eclipse.linuxtools.dataviewers.charts.provider.IChartField;
import org.eclipse.linuxtools.gprof.view.histogram.TreeElement;
@@ -23,7 +24,7 @@ import org.eclipse.linuxtools.gprof.view.histogram.TreeElement;
*
* @author Mohamed Korbosli
*/
-public class RatioProfField extends AbstractPercentageDrawerField {
+public class RatioProfField extends AbstractPercentageDrawerField implements IChartField{
/** Format to use to display percentages */
public final static NumberFormat nf = new DecimalFormat("##0.0#");
diff --git a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/SampleProfField.java b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/SampleProfField.java
index 42377e48e5..54ac658ecb 100644
--- a/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/SampleProfField.java
+++ b/gprof/org.eclipse.linuxtools.gprof/src/org/eclipse/linuxtools/gprof/view/fields/SampleProfField.java
@@ -12,6 +12,7 @@ package org.eclipse.linuxtools.gprof.view.fields;
import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTDataViewersField;
import org.eclipse.linuxtools.dataviewers.abstractviewers.AbstractSTTreeViewer;
+import org.eclipse.linuxtools.dataviewers.charts.provider.IChartField;
import org.eclipse.linuxtools.gprof.parser.GmonDecoder;
import org.eclipse.linuxtools.gprof.parser.HistogramDecoder;
import org.eclipse.linuxtools.gprof.view.GmonView;
@@ -28,7 +29,7 @@ import org.eclipse.swt.graphics.Color;
*
* @author Xavier Raynaud <xavier.raynaud@st.com>
*/
-public class SampleProfField extends AbstractSTDataViewersField {
+public class SampleProfField extends AbstractSTDataViewersField implements IChartField{
private boolean samples = true;
protected final AbstractSTTreeViewer viewer;

Back to the top