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
- Name: Keith Seitz
- Email: keiths@redhat.com
Current status
- Targeted release: Fedora Linux 38
- Last updated: 2022-12-06
- devel thread
- FESCo issue: #2906
- Tracker bug: #2151328
- Release notes tracker: #934
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.