From Fedora Project Wiki

< Features

Revision as of 16:01, 28 March 2011 by Jankratochvil (talk | contribs) (stap branch is already merged in => 100%; upstream has not yet released 7.3 so we cannot claim it.)

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: 2011-03-28
  • Percentage of completion: 100%

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