blob: 220491a4eb8101248df1aadd019b5fd821d56601 [file] [log] [blame]
<table border="1" style="border-collapse: collapse" width="100%"
id="table128" cellpadding="4" bordercolor="#FFFFFF">
<tr>
<td bgcolor="#595791" width="7%" align="center"><b> <font
color="#FFFFFF" size="1">Release</font></b></td>
<td bgcolor="#595791" width="5%" align="center"><b> <font
color="#FFFFFF" size="1">Resolved </font></b></td>
<td bgcolor="#595791" width="*" align="center"><b> <font
color="#FFFFFF" size="1">Community Contributions</font></b></td>
</tr>
<tr>
<td bgcolor="#E0D0E6"><font size="1">0.6.2<br>
<i>16 Sep 2010</i></font></td>
<td bgcolor="#E0D0E6" align="center"><a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6.2&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0">
<font size="1">2<br>
bugs</font></a></td>
<td bgcolor="#E0D0E6"><font size="1">This was a bug-fix-only release resolving issues with Valgrind.</font></td>
</tr>
<tr>
<td bgcolor="#FAF7FB"><font size="1">0.6.1<br>
<i>26 Aug 2010</i></font></td>
<td bgcolor="#FAF7FB" align="center"><a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6.1&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0">
37 bugs</a></td>
<td bgcolor="#FAF7FB"><font size="1">This was a bug-fix-only release resolving issues with LTTng, ChangeLog, RPM, Valgrind and SystemTap.</font></td>
</tr>
<tr>
<td bgcolor="#E0D0E6"><font size="1">0.6<br>
<i>23 June 2010</i></font></td>
<td bgcolor="#E0D0E6" align="center"><a
href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&classification=Tools&product=Linux+Tools&target_milestone=0.6&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0">
85 bugs</a></td>
<td bgcolor="#E0D0E6"><font size="1"> Jon Beniston
contributed some patches for the Autotools plugins. Patrick Tasse
helped improve the TMF Time Analysis Viewer. Chris Aniszczyk clarified
some API violations. Martin Gerhardy helped Xavier Raynaud implement
support for 64-bit gmon files for use with the GProf integration
plugins. </font></td>
</tr>
</table>
<hr>
<p><span style="font-weight: 700; background-color: #FAF7FB">New
in Linux Tools 0.6</span></p>
<ul>
<!-- <li><a href="#autotools">GNU Autotools Support (1)</a></li>
<li><a href="#changelog">ChangeLog Tools (1)</a></li>
<li><a href="#eclipsebuild">Building the Eclipse SDK (3)</a></li>
<li><a href="#callgraph">Eclipse Callgraph (2)</a></li> -->
<li><a href="#gprof">GProf integration (2)</a></li>
<!-- <li><a href="#rpmstubby">RPM Stubby (3)</a></li>
<li><a href="#specfileeditor">RPM <tt>.spec</tt> Editor (4)</a></li>
<li><a href="#systemtap">Systemtap Editor (2)</a></li> -->
<li><a href="#lttng">Linux Tracing Tools (2)</a></li>
</ul>
<h2><a name="autotools">GNU Autotools Support</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Configuration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Autotools integration plugins add support for
running a configuration step prior to running the Makefile of existing
projects that use a configure or autogen.sh script.</p>
<p><img border="0" src="images-0.6/autotools-configuration.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Maintenance</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Autotools plugins include colourized editors
for configure scripts including hover help and completion for macros.</p>
<p><img border="0" src="images-0.6/autotools-editor.png"><br>
<br>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Project Templates</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The GNU Autotools plug-in provides template
projects for both C and C++ in the CDT C and C++ Project Wizards.
There are two templates for each language: an empty project template
used when importing existing projects and a sample "Hello World"
project template. The "Hello World" sample project templates provide
all needed source and configuration files such that the build produces
a working executable that prints to the console.</p>
<img border="0" alt="Autotools Project Template"
src="images-0.6/autotools-template.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Autotools Configuration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The configuration settings can be found under the
Autotools properties page. Configuration options write and store a new
project xml file: .autotools. Note that the build directory is not specified in
the configuration settings, it is specified exclusively using the
"Build Location" setting found in the C/C++ Build properties page.</p>
<img border="0" alt="New configuration settings"
src="images-0.6/autotools-newconfigure.png">
<p align="left">If the build location is not set, then by default,
the initial build will occur in the top-level project directory.
Subsequent builds will build in new directories which are named
"build-${CfgName}" where ${CfgName} is the name of the configuration.
If this behaviour is not desired, it can be turned off from the
top-level Autotools property page.</p>
<img border="0" alt="New autotools page"
src="images-0.6/autotools-newautotoolspage.png">
<p align="left">For further information about rewrite changes, <a
href="http://wiki.eclipse.org/Linux_Tools_Project/Autotools/Rewrite_Changes_Guide">click
here</a>.
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="changelog">ChangeLog Tools</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Source code parsing</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The ChangeLog tools assist in generating ChangeLog
entries. Pressing the key combination Ctrl-Alt-c will parse the
current file and add a ChangeLog entry in the appropriate ChangeLog
file. C, C++, and Java source files are parsed to indicate
methods/functions which have been modified, added or removed. Hold Ctrl
and click on one of the files to jump to that file in the Editor.</p>
<p><img border="0" src="images-0.6/changelog-generation-3.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Repository integration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The ChangeLog tools can generate a ChangeLog entry
for projects that use a source code repository. Support is provided
for standard org.eclipse.team providers and has been tested with both
CVS and SVN repositories. A ChangeLog entry can be generated for all
changes between the local copy and the repository by pressing
Ctrl+Alt+p.</p>
<p><img border="0" src="images-0.6/changelog-generation.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Filename Support Improvements</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Previously files with blanks in their names or
parentheses or colons caused the ChangeLog parser to misinterpret the
actual file name vs the function name. This would prevent a Ctrl-click
from opening files properly. This is now fixed and files with such
names will show up with escape characters automatically added.
Ctrl-click now works on these files.</p>
<img border="0" alt="ChangeLog entry with spaces in file name"
src="images-0.6/changelog-odd-names.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Multiple files per entry</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The plugin now allows entries that have multiple
files specified in one entry. The multiple file names are separated by
commas and can continue on multiple lines. This is useful when there
is one change made on a large group of files. The Ctrl-click feature
works on each file.</p>
<img border="0" alt="ChangeLog entry with multiple file entries"
src="images-0.6/changelog-multiple-files.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<!--h2><a name="eclipsebuild">Building the Eclipse SDK</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>New SDK version</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Eclipse-build has been updated to build the new
version of the Eclipse SDK 3.5.2.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>System libraries</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Eclipse-build has been extended to use system jars
for external dependencies instead of the jars shipped with SDK.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>ECF</b></p>
</td>
<td valign="top" width="70%">
<p align="left">ECF build is part of the bootstrapping step now
allowing us to use the just built ecf instead of rebuilding them after
the SDK build.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Running SDK Tests</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Eclipse SDK test suites can be run with <a
href="http://wiki.eclipse.org/Linux_Tools_Project/Eclipse_Build/Tests"><tt>ant
runTests</tt></a>. A single HTML file with aggregated results will be created.
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Enhance distributions' experience</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Install target has been added to install
provisioned SDK.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Additional Architectures</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Support for the following additional architectures
has been added: <lu>
<li>arm</li>
<li>mips</li>
<li>mipsel</li>
<li>PA_RISC</li>
<li>alpha</li>
<li>ia64</li>
<li>ppc64</li>
<li>sparc</li>
<li>sparc64</li>
</lu></p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table-->
<h2><a name="libhover">API Documentation Hover Help</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>C++ Support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Libhover Libstdc++ feature adds C++ hover help
for the libstdc++ library.</p>
<img border="0" alt="Alt text for the image"
src="images-0.6/cpplibhover.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Standards</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Libhover plugin adds C library hover help and
completion support for various C libraries including glibc and newlib.
The plugin provides an extension and a documentation format for adding
new C libraries in the future.</p>
<p><img border="0" src="images-0.6/libhover-sample.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="oprofile">OProfile Profiling</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Manual Profiling</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Manual Profiling option makes your profiling
more controlled and more precise. Use the Manual option to start and
stop the Oprofile daemon at will.</p>
<img border="0" alt="Manual Profiling Launch Shortcut"
src="images-0.6/Screenshot-oprofile_manual_shortcut.png"></td>
</tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Eclipse Help User Guide</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The <a
href="http://wiki.eclipse.org/Linux_Tools_Project/OProfile/User_Guide">OProfile
user guide</a> is available via a link in the Eclipse Help System.</p>
<img border="0" alt="Eclipse Help System With OProfile Item"
src="images-0.6/Screenshot-oprofile_userhelp.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Timer Interrupt Profiling</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The plugin will now work with OProfile's timer
interrupt-based profiling. This happens automatically when the host
CPU has no debug registers, or can be forced by manually loading the
OProfile module with: <pre># modprobe oprofile timer=1</pre></p>
<img border="0" alt="Timer Interrupt Event In The OProfile View"
src="images-0.6/oprofile-timer-int-scr.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Multi-Architecture Support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The plugin includes fragments to support PPC, x86 and x86_64 for
use with their respective processors.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>New View</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The OProfile plugin gives users a way to
statistically profile a C/C++ application at runtime. It makes use of
the OProfile commandline tool to collect data on function calls and
time spent within functions. The plugin includes a way to view the
results of oprofile runs. Events are top level elements allowing
multiple events to be shown simultaneously. Double-clicking on a line
number node brings up an editor with the source file at the
appropriate line (if available). Double-clicking on the default
session (named "current") allows it to be saved for future viewing.</p>
<p><img border="0" alt="New OProfile View UI"
src="images-0.6/oprofile-newui.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>One Click Launch</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Profiling is as easy as a single click.
Right-clicking on a CDT binary, project or editor of a source file
will launch the associated project's binary under OProfile with no
configuration needed. Configuration is set to appropriate defaults for
the user's processor (an event based on execution time) and this
configuration is left for the user to customize later.</p>
<p><img border="0" alt="Launch Shortcut"
src="images-0.6/oprofile-launchshortcut.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Event Config Tab UI</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Allows users of all experience levels with
OProfile to take advantage of its powerful profiling capabilities.
Default event configuration option. Multiple hardware counters appear
as tabs. All unit masks properly displayed with appropriate defaults.
Caching of event check results allowing for faster validation.
Scrollable composite for events with many unit masks.</p>
<p><img border="0" alt="Event Config Tab"
src="images-0.6/oprofile-eventconfigtab.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="callgraph">Eclipse Callgraph</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Multi-threaded profiling</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Callgraph can now trace function calls in
multi-threaded programs. No difference in terms of the user interface,
but now when graphing Callgraph will automatically track which
functions belong to which thread and display them accordingly.</p>
<img border="0" alt="Multi-threaded program in radial view"
src="images-0.6/threaded-screenshot.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Convert To DOT Language</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Eclipse Callgraph can save graphs to the DOT
language. In Eclipse Callgraph, click the main menu and choose File ->
Save As, then choose an option to save parts of the graph or the whole
graph as a .dot file. Graphs in DOT language can then be graphed or
converted to other formats (e.g. PDF, SVG, etc.) by any of a large
number of existing DOT parsing programs.</p>
<img border="0"
alt="Sample Callgraph-generated .dot file and resulting graph in graphviz"
src="images-0.6/callgraph-dot.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Visualize C/C++ Projects</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Graphically displays the call hierarchy from
executing a C/C++ binary, along with various other runtime statistics.
</p>
<img border="0" src="images-0.6/callgraph.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Link To Function Source</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The graph views are linked to their source code.
This means that from any view, one can jump directly to the relevant
source code by holding Ctrl and double clicking a node.</p>
<img border="0" src="images-0.6/callgraph-link.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="gprof">GProf Integration</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#E0D0E6>
<p align="right"><b>Architecture coverage</b></p>
</td>
<td valign="top" width="70%">
<p align="left">GProf plugins now support 64-bit gmon files (<a
href="https://bugs.eclipse.org/304163">bug #304163</a>).</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#E0D0E6>
<p align="right"><b>Visualization</b></p>
</td>
<td valign="top" width="70%">
<p align="left">GProf profiling results can now more easily be
viewed using a BIRT-drive visualization.</p>
<img border="0" alt="GProf BIRT visualization"
src="images-0.6/GProfChartView.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Configuration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Gprof plugin allows the generation of
execution performance statistics based on compiler instrumentation.
Thus, the user has to compile the C/C++ program with profiling enabled
using the <i>-pg</i> option prior to running the tool.</p>
<img border="0" alt="" src="images-0.6/gprof-compile-step.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Launching</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Once the application run is finished, a <i>gmon.out</i>
file is generated under the project. Double clicking on this file will
open a dialog to select the associated binary.</p>
<img border="0" alt="" src="images-0.6/gprof-project-explorer.png">
<img border="0" alt="" src="images-0.6/gprof-binary-file.png">
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Results</b></p>
</td>
<td valign="top" width="70%">
<p>The Gprof view shows which parts of the program consume most of
the execution time. It also provides call graph infomation for each
function. Source code can be viewed in an editor by double clicking on
a function in the tree.
<p><img border="0" alt="" src="images-0.6/gprof-view.png"></p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="gcov">GCov Integration</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#E0D0E6>
<p align="right"><b>Code coverage</b></p>
</td>
<td valign="top" width="70%">
<p align="left">GCov code coverage output files can now be visualized in Eclipse. An application compiled with "-fprofile-arcs" "-ftest-coverage" and linked with "-fprofile-arcs" will generate 2 coverage output files (*.gcda/*.gcno) for each source file of the program. Double clicking on one of these files provides an overview of coverage for the whole program. In addition, source files are annotated with lines covered their frequency of execution.
</p>
<img border="0" alt="GCov screenshot" src="images-0.6/gcovProject.png">
<img border="0" alt="GCov screenshot" src="images-0.6/gcov.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="rpmstubby">RPM Stubby</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Generation</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The RPM Stubby plugin assists in generating an RPM
specfile for an Eclipse feature by using the data in its feature.xml.
The plugin uses the latest best practices for packaging an Eclipse
feature as an RPM.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Robustness</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Uses %global macro instead of %define. See <a
href="http://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define">here</a>
for details.</p>
<img border="0" alt="Alt text for the image"
src="images-0.6/rpmstubby-global.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Improved Maven projects support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Proper install for jars in a pom project and make
use of the %{_mavenpomdir} macro.</p>
<img border="0" alt="Alt text for the image"
src="images-0.6/rpmstubby-mvn-install.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Maven generation</b></p>
</td>
<td valign="top" width="70%">
<p align="left">RPM Stubby can generate RPM spec files directly
from Maven pom.xml files.</p>
<img border="0" src="images-0.6/rpmstubby-pom.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
</table>
<h2><a name="specfileeditor">RPM <tt>.spec</tt> Editor</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Download sources</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Sometimes when working with an RPM spec file it is
necessary to download any referenced sources. The RPM .spec editor
makes this easy by allowing sources defined in the spec file to be
downloaded directly from inside Eclipse.</p>
<img border="0" alt="Alt text for the image"
src="images-0.6/specfile-download.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>SRPM Import</b></p>
</td>
<td valign="top" width="70%">
<p align="left">SRPM import wizard creates RPM project directly
instead of running the generic new project.</p>
<img border="0" alt="Alt text for the image"
src="images-0.6/specfile-new-project.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Form based editor</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The editor has a form-based editor that supports a
number of sections and tags.</p>
<img border="0" alt="Form based editor"
src="images-0.6/specfile-form-editor.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Convert tabs to spaces </b></p>
</td>
<td valign="top" width="70%">
<p align="left">Automatically replace tabs with a predefined
number of spaces using a preference setting.</p>
<img border="0" alt="Tabs to spaces"
src="images-0.6/specfile-tab-to-spaces.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>RPM project support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The editor includes a wizard that creates RPM
projects with standard rpmbuild directory structure to facilitate
setting up RPM projects.</p>
<img border="0" alt="RPM project"
src="images-0.6/specfile-new-rpm-project.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Rpmlint markers for .spec files</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The RPM .spec editor comes with an option to run
RPMLint on spec files. The RPMLint option will run the rpmlint tool and
mark warnings/errors on the spec file.</p>
<img border="0" src="images-0.6/specfile-rpm-rpmlint.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Structured compare support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Structured compare has been added for ease of use
with version control systems.</p>
<img border="0" src="images-0.6/specfile-compare.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>%global definition support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Support for %global way of defining variables. For
details about why %global should be preferred over %define see <a
href="https://fedoraproject.org/wiki/PackagingDrafts/global_preferred_over_define">here.</a>
</p>
<img border="0" src="images-0.6/specfile-global.png"></td>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Fully-featured editor</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The RPM .spec editor is a fully featured editor
for spec files. It includes context-sensitive autocompletion support,
syntax highlighting, quick fixes, hover-help and other features
designed to make editing spec files easier.</p>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="valgrind">Valgrind Profiling</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Valgrind 3.5 Support</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Valgrind 3.5 brings several <a
href="http://www.valgrind.org/docs/manual/dist.news.html">changes</a>
to the tool suite, such as improved leak checking. For the Linux Tools
0.4 release, an issue has been corrected that prevented launching a
program successfully with default Valgrind options. Valgrind 3.5 users
should now have no problems profiling their C/C++ applications in
Eclipse.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Customize Valgrind Location</b></p>
</td>
<td valign="top" width="70%">
<p align="left">A new preference setting specifies an alternate
location for the Valgrind executable. Now you can use Valgrind from a
non-standard location without having to manipulate your PATH
environment variable! By default this will be set to the path returned
by the <i>which</i> command. The preference page can be found in <i>Window
-> Preferences</i> .</p>
<img src="images-0.6/valgrind-pref.png" /></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Suppression File Editor</b></p>
</td>
<td valign="top" width="70%">
<p align="left">For Valgrind tools that output a series of errors,
there can often be a lot of noise &mdash; errors you are not
interested in. Valgrind has the capability of using Suppressions to
ignore such errors. The syntax for defining Suppression Files can be
found <a
href="http://www.valgrind.org/docs/manual/manual-core.html#manual-core.suppress">here</a>.
</p>
<p align="left">Now an editor for Valgrind Suppression files has
been created and will be used for files ending with the ".supp"
extension. It features context-sensitive syntax highlighting (for
instance only highlighting the word "Memcheck" when used to define the
tool relating to the Suppression), code folding and completion.
Completion is very useful to select from the full range of Memcheck
Suppression types.</p>
<p align="left">Currently only Memcheck is supported in the editor
as it is the only tool of these plugins that uses Suppressions.</p>
<img border="0" alt="Editing a Valgrind suppression file"
src="images-0.6/valgrind-supp-editor.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Export Massif Chart</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The allocation chart produced by the Massif plugin
can now be exported as an <a
href="http://en.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>.
</p>
<img border="0" alt="Exporting the Massif chart as an SVG image"
src="images-0.6/valgrind-svg-chart.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Massif Chart Interactivity</b></p>
</td>
<td valign="top" width="70%">
<p align="left">A new interactivity feature has been added to
Massif's heap allocation charts. As before, single-clicking on a data
point in the chart selects that snapshot in the Valgrind view. Now you
can double-click on a data point that is a detailed snapshot to open an
editor for one of its allocation function calls. This feature considers
all of the locations in your project's sources that call an allocation
function such as malloc or new. If your project contains functions that
serve as wrappers to allocation functions, be sure to add them to the
list of allocation functions in the launch configuration. This will
ensure you get the most meaningful profiling results.</p>
<img alt="Selecting A Function Call To Open"
src="images-0.6/valgrind-chart-interactive.png" /></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Fold Valgrind results</b></p>
</td>
<td valign="top" width="70%">
<p align="left">To help manage large amounts of profiling results,
all three tools offer a new "Expand/Collapse Beneath Selection"
feature in their tree viewers. Accessible from the viewer's context
menu, this will expand (or collapse) all items beneath the selected
element.</p>
<img alt="Expand/Collapse Beneath Action"
src="images-0.6/valgrind-expand-collapse.png" /></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Cachegrind Integration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">A Cachegrind plugin allows users to profile the
cache and branch behaviour of their program. A hierarchical breakdown
of these statistics is presented in a tree for easy navigation and
sorting.</p>
<img alt="Cachegrind Profiling Results"
src="images-0.6/valgrind-cachegrind.png" /></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Memcheck Integration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Support for Memcheck, the memory error-checking
tool, includes a tree view of errors and their corresponding stack
trace. Stack frames can be double-clicked to show the given line in an
editor. Markers annotate the corresponding source code.</p>
<p><img border="0" src="images-0.6/valgrind-memcheck.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Massif Integration</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Massif integration consists of three different
forms of output. A table view lists each heap snapshot taken. Of these
snapshots, some have more detailed information available, including a
call trace of the functions performing heap allocations in each
snapshot. This extended information is available in a tree view
accessible either by double clicking on a snapshot with the "tree"
icon, or by clicking the similar icon in the Valgrind view's toolbar.
Within the tree view, allocation functions found in source files can
be viewed in an editor by double clicking on the element in the tree.
Finally, there is a heap chart displayed in an editor that graphically
outlines the information provided in the snapshots. Clicking on a
point in the chart selects the snapshot in the table.</p>
<p><img border="0" src="images-0.6/valgrind-massif.png">
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="systemtap">Systemtap GUI</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>SystemTap Dashboard</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The Dashboard Perspective is the most advanced
part of SystemTap GUI. It is designed to allow users to browse and run
prebuilt modules in order to see multiple graphs updating in
sequence.The dashboard allows for visualizing specific system
activities graphically.</p>
<img src="images-0.6/SystemTap_dashboard.png" />
</p>
<p align="center">SystemTap dashboard</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>Removed server dependency</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The SystemTap GUI server is now redundant.
SystemTap scripts can be executed remotely using remote ssh.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>SystemTap IDE</b></p>
</td>
<td valign="top" width="70%">
<p align="left">Linux Tools encompasses a fully-featured IDE for
the SystemTap language. This includes a SystemTap editor and views
that list available systemtap probes, systemtap functions and the
kernel source code. Code completion, code folding, context-assistance
and highlighting are all included in the IDE.</p>
<img border="0" alt="SystemTap IDE"
src="images-0.6/Screenshot-systemtap-1.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#FAF7FB>
<p align="right"><b>SystemTap Graphs</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The SystemTap IDE is can display the output of
SystemTap scripts as dynamic graphs. Graphs are created on-the-fly and
according to user specifications.</p>
<img border="0" alt="SystemTap Graph 1"
src="images-0.6/Screenshot-systemtap-2.png"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2><a name="lttng">Linux Tracing Tools</a></h2>
<table cellpadding="10" cellspacing="0">
<tr>
<td align="left" valign="top" width="15%" bgcolor=#E0D0E6>
<p align="right"><b>Histogram View</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The new LTTng Histogram view replaces the old Time
Frame View</p>
<img alt="LTTng Histogram view"
src="images-0.6/LTTngHistogramView.png" />
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td align="left" valign="top" width="15%" bgcolor=#E0D0E6>
<p align="right"><b>Performance</b></p>
</td>
<td valign="top" width="70%">
<p align="left">The performance and responsiveness of the LTTng
plugins has greatly improved.</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
</table>
<h2>&nbsp;</h2>