From Fedora Project Wiki

< Changes

Revision as of 18:16, 6 December 2022 by Bcotton (talk | contribs) (Change approved by FESCo)

Remove Guile Support from GDB

Summary

Remove Guile extension language support from the GDB package in favor of the widely tested and feature-rich Python support

Owner

Current status

  • Targeted release: Fedora Linux 38
  • Last updated: 2022-12-06
  • devel thread
  • FESCo issue: #2906
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The GDB package supports Python and Guile for writing extensions to the debugger. The Python extensions are actively used by many developers including the glibc developers for printing detailed POSIX Thread information and by libstdc++ (gcc) developers for printing developer friendly views of the standard library data structures. The current Guile extension support is less actively used and this change request proposes to remove that support from GDB.

Feedback

Red Hat's Platform Tools team supports this change.

Benefit to Fedora

GDB already supports a much more widely tested and feature-rich Python interface1, and the GDB maintainers would like to remove the maintenance burden imposed by supporting multiple scripting interfaces. The Guile interface has already been disabled in RHEL9 and onwards. This would align Fedora and RHEL and standardize the community more directly on the Python interface for extension development.

1 The GDB User Manual states, “python comes first.” The Manual’s Python and Guile API pages demonstrate the disparity of support between these two extension languages.

Scope

  • Proposal owners: Update gdb spec file.
  • Other developers: Update GDB scripting files if using Guile. Repository queries show no packages which rely on GDB that contain any Guile source files.
  • Release engineering: #Releng issue number
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

Users with Guile scripts will need to update and/or rewrite their scripts in Python.

How To Test

User Experience

Guile scripts that extend the functionality of GDB will stop working when users upgrade. Users are encouraged to use GDB's Python interface instead.

Dependencies

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change)

Documentation

Release Notes

Release notes should mention the removal of Guile support in GDB and suggest alternatives.