Release Resolved Community Contributions
0.3
19 August 2009
77 bugs Jens Seidel helped with Autotools and Valgrind testing, filing important bugs. Alex Mueller guided the development of the manual control of the OProfile daemon. Nick Boldt once again helped us with our release engineering processes. Martin Gerhardy and Mat Booth helped getting the RPM specfile editor to work on Windows. Andrew Niefer and Kim Moir helped a lot with getting eclipse-build off the ground and with difficult problems.

New in Linux Tools 0.3

GNU Autotools Support

Manual Reconfigure

The newest Autotools now allows the user to manually rerun the configure script. The option is available in the Project menu.

Reconfigure

Tool Support

The latest Autotools plugin adds support for the autoheader, autoreconf, and libtoolize tools in addition to the existing tools: aclocal, autoconf, and automake. Instead of displaying the results in a dialog, all Autotool invocation results are now displayed in the new Autotools console. Invoking the tools can be done from the Project->Invoke Autotools menu item and each tool's binary location can be specified in the Project->Properties->Autotools->Tools Settings tab.

Autoreconf

Building the Eclipse SDK

Full Build

This first release of eclipse-build is capable of building the Eclipse SDK solely with ant and a JDK. Eclipse 3.5 (I20090611-1540) builds fine with the source tarball provided by this project. The build is verified to succeed on Linux on x86, x86_64 and ppc architectures.
We encourage all Linux distributions to start using eclipse-build and get their Eclipse stack updated to the latest release. Let's share the work of integrating Eclipse Tools with Linux distributions!
Instructions for how to use eclipse-build to build the Eclipse SDK are kept in the wiki.


API Documentation Hover Help

C++ Support

The new Libhover Libstdc++ feature adds C++ hover help for the libstdc++ library.

Alt text for the image

OProfile Profiling

Manual Profiling

Initially, OProfile would be launched when the target binary is executed and OProfile would terminate when the target binary exits. Now, via a control dialog, the OProfile daemon may be started and stopped at will for greater control and precision in profiling your applications.

Manual Profiling Dialog Manual Profiling Launch Shortcut

Launch Test Coverage

The launch plug-in's test coverage has improved significantly.

Test Coverage Dialog

Eclipse Help User Guide

The Linux Tools 0.3.0 release makes the OProfile user guide available via a link in the Eclipse Help System.

Eclipse Help System With OProfile Item

RPM .spec Editor

Form based editor

An initial form based editor has been added. As well, support for a limited number of sections and tags is also provided. This initial version will form the basis for future work.

Form based editor

Convert tabs to spaces

Support for replacing tabs with predefined number of spaces has been added to the editor.

Tabs to spaces

RPM project support

A wizard for creating RPM projects with standard rpmbuild directory structure has been added.

RPM project

Import SRPM

The ability to import srpm files has been restored to the latest release.

Import SRPM

Export RPMS/SRPMS

The ability to export RPM/SRPM files has also been restored to the latest release.

Export RPM

SystemTap Integration

SystemTap IDE

The Linux Tools 0.3.0 release now has an IDE for SystemTap. This includes a SystemTap editor and views that list available systemtap probes, systemtap functions and the kernel source code.

SystemTap IDE

SystemTap Graphs

Support has been added to create custom graphs and view the output of SystemTap scripts as dynamic graphs.

SystemTap Graph 1 SystemTap Graph 2

Valgrind Profiling

Suppression File Editor

For Valgrind tools that output a series of errors, there can often be a lot of noise — 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 here.

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.

Currently only Memcheck is supported in the editor as it is the only tool of these plugins that uses Suppressions.

Editing a Valgrind suppression file

User Guide/Eclipse Help

A new documentation plugin, org.eclipse.linuxtools.valgrind.doc, has been created that uses Mylyn WikiText. This plugin fetches a snapshot of the new user guide on the Eclipse.org Wiki. It then transforms it into HTML, DocBook XML and Eclipse Help. The plugin then contributes the Eclipse Help via extension point to your workspace so you can view the user guide from the Help menu.

Valgrind user guide in Eclipse Help

New Valgrind 3.4 Options

Valgrind 3.4 brings a couple of new options to the Eclipse Valgrind plugins, the most interesting of which is the ability to track the origins of uninitialized values. This functionality was frequently requested as the use of uninitialized memory may occur far later in the program than its allocation.

The other new option is the ability to set the stack size for the program's main thread. Valgrind by default requests the smaller of 16MB and the current ulimit value. For programs that require more stack space than this, you can now specify what is needed.

New version checking code allows these options to be available to users with Valgrind 3.4 installed, and hidden from those with a lesser version.

Demonstrating Valgrind 3.4's track-origins option

Fatal Error Handling

On occasion, fatal runtime errors may occur in your program that force Valgrind to exit. Before exiting, the Valgrind Core will output detailed information about the problem. Examples include exiting from a signal such as a Segmentation Fault or Floating Point Exception; or being given an invalid suppression file.

In the case of a program-ending signal, there may still be useful output from Valgrind up until that point in execution. For Memcheck, the tool's output coincides with any output from the Valgrind core resulting in all errors being reported in the same viewer — called the Valgrind Commentary pane.

Encountering a segmentation fault running Memcheck

For non-error reporting tools (Massif, Cachegrind), the fatal error will still appear in the Valgrind Commentary pane, which is usually not used for Massif and Cachegrind. Switching to the normal tool output is done from the Valgrind view's menu.

Switching to Massif's tool output after encountering a segmentation fault

Export Massif Chart

The allocation chart produced by the Massif plugin can now be exported as an SVG.

Exporting the Massif chart as an SVG image

Minimum Supported Version Checking

The minimum supported version for Valgrind is 3.3.0. Attempting to use a lesser version in the past would result in unexpected behaviour. Now the problem is clearly identifiable by an error dialog displaying your installed version and the minimum version supported.

Attempting to launch with Valgrind < 3.3.0