From Fedora Project Wiki
(SystemTap markers dep. on >=1.4)
(Feature highlights contributed by dmalcolm.)
Line 30: Line 30:


== User Experience ==
== User Experience ==
Improved debugging experience on Fedora by making the debugger more powerful.
This new GDB release 7.3 together with [http://sourceware.org/gdb/wiki/ArcherBranchManagement Archer] and Fedora extensions improves debugging experience on Fedora by making the debugger more powerful. The majority of these features were written by Red Hat engineers, thus benefiting all gdb users.  New features for the Fedora 15 release are not limited to:
* Support for breakpoints at [http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToAppsSystemtap SystemTap markers (probes)]
* Support for breakpoints at [http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToAppsSystemtap SystemTap markers (probes)]
* Support for using labels in the program's source
* Support for using labels in the program's source
Line 40: Line 40:
** New module gdb.printing for writing and registering pretty-printers.
** New module gdb.printing for writing and registering pretty-printers.
More features are listed [http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/NEWS?cvsroot=src upstream] above the line <code>*** Changes in GDB 7.2</code>.
More features are listed [http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/NEWS?cvsroot=src upstream] above the line <code>*** Changes in GDB 7.2</code>.
Numerous important packages within Fedora are pre-built with [[Features/SystemtapStaticProbes|SystemTap static markers]], and these can now be used as the target for breakpoints in gdb.


== Dependencies ==
== Dependencies ==
Line 61: Line 63:
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->


This new GDB release 7.3 together with [http://sourceware.org/gdb/wiki/ArcherBranchManagement Archer] and Fedora extensions improves debugging experience on Fedora by making the debugger more powerful with new features for the Fedora 15 release:
This new GDB release 7.3 together with [http://sourceware.org/gdb/wiki/ArcherBranchManagement Archer] and Fedora extensions improves debugging experience on Fedora by making the debugger more powerful.  The majority of these features were written by Red Hat engineers, thus benefiting all gdb users.  New features for the Fedora 15 release are not limited to:
* Support for breakpoints at [http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToAppsSystemtap SystemTap markers (probes)]
* Support for breakpoints at [http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToAppsSystemtap SystemTap markers (probes)]
* Support for using labels in the program's source
* Support for using labels in the program's source
Line 71: Line 73:
** New module gdb.printing for writing and registering pretty-printers.
** New module gdb.printing for writing and registering pretty-printers.
More features are listed [http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/NEWS?cvsroot=src upstream] above the line <code>*** Changes in GDB 7.2</code>.
More features are listed [http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/src/gdb/NEWS?cvsroot=src upstream] above the line <code>*** Changes in GDB 7.2</code>.
Numerous important packages within Fedora are pre-built with [[Features/SystemtapStaticProbes|SystemTap static markers]], and these can now be used as the target for breakpoints in gdb.


== Comments and Discussion ==
== Comments and Discussion ==

Revision as of 22:00, 24 January 2011

GDB 7.3

Summary

Update the system GNU Debugger (GDB) in Fedora from 7.2 to 7.3. Existing and new Archer branches get ported along.

Owner

Current status

  • Targeted release: Fedora 15
  • Last updated: 2010-01-17
  • Percentage of completion: 50%

Detailed Description

Rawhide already contains updates from upstream CVS HEAD such as gdb-7.2.50.20110117-12.fc15.

Benefit to Fedora

Improved debugging experience on Fedora by making the debugger more powerful.

Scope

Systemtap markers support is a work in progress (archer-sergiodj-stap branch).

Other Fedora packages bound to GDB are pretty-printers (libstdc++ and glib2-devel) and a package based on the Python binding (gdb-heap). ABRT uses basic commands from GDB for applications backtraces.

How To Test

GDB provides substantial GDB testsuite being regression tested with each new build. rpmbuild --with testsuite -bb gdb.spec 2>&1|tee log produces output which can be processed by uudecode and tar xjf, resulting *.sum files should be compared against last stable release by diff. There should be no PASS->FAIL cases (regressions).

libstdc++ and glib2-devel pretty-printers and also gdb-heap should be tested by hand for compatibility. ABRT is dependent on GDB but incompatibilities are not expected there.

User Experience

This new GDB release 7.3 together with Archer and Fedora extensions improves debugging experience on Fedora by making the debugger more powerful. The majority of these features were written by Red Hat engineers, thus benefiting all gdb users. New features for the Fedora 15 release are not limited to:

  • Support for breakpoints at SystemTap markers (probes)
  • Support for using labels in the program's source
  • OpenCL language debugging support
  • Thread debugging of core dumps - priting pthread_t of threads and their TLS variables
  • Python scripting improvements not limited to:
    • GDB values in Python are now callable if the value represents a function address.
    • New module gdb.types for inferior types.
    • New module gdb.printing for writing and registering pretty-printers.

More features are listed upstream above the line *** Changes in GDB 7.2.

Numerous important packages within Fedora are pre-built with SystemTap static markers, and these can now be used as the target for breakpoints in gdb.

Dependencies

Python is not expect to break its API.

Upstream may not release final 7.3 version in time for Fedora 15.

SystemTap markers (probes) require SystemTap version 1.4. This version is now already present in Rawhide.

Contingency Plan

HEAD snapshot 7.2.50.x is perfectly fine to be release for Fedora. Later final upstream release will be provided as a Bodhi update.

If the breakpoints at SystemTap markers (probes) support is not completed in time the feature can be dropped.

Documentation

Documented upstream above the line *** Changes in GDB 7.2. SystemTap markers (probes) are documented in he archer-sergiodj-stap branch (before it gets merged).

Release Notes

This new GDB release 7.3 together with Archer and Fedora extensions improves debugging experience on Fedora by making the debugger more powerful. The majority of these features were written by Red Hat engineers, thus benefiting all gdb users. New features for the Fedora 15 release are not limited to:

  • Support for breakpoints at SystemTap markers (probes)
  • Support for using labels in the program's source
  • OpenCL language debugging support
  • Thread debugging of core dumps - priting pthread_t of threads and their TLS variables
  • Python scripting improvements not limited to:
    • GDB values in Python are now callable if the value represents a function address.
    • New module gdb.types for inferior types.
    • New module gdb.printing for writing and registering pretty-printers.

More features are listed upstream above the line *** Changes in GDB 7.2.

Numerous important packages within Fedora are pre-built with SystemTap static markers, and these can now be used as the target for breakpoints in gdb.

Comments and Discussion