Skip to main content
Redhat Developers  Logo
  • Products

    Featured

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat OpenShift AI
      Red Hat OpenShift AI
    • Red Hat Enterprise Linux AI
      Linux icon inside of a brain
    • Image mode for Red Hat Enterprise Linux
      RHEL image mode
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • Red Hat Developer Hub
      Developer Hub
    • View All Red Hat Products
    • Linux

      • Red Hat Enterprise Linux
      • Image mode for Red Hat Enterprise Linux
      • Red Hat Universal Base Images (UBI)
    • Java runtimes & frameworks

      • JBoss Enterprise Application Platform
      • Red Hat build of OpenJDK
    • Kubernetes

      • Red Hat OpenShift
      • Microsoft Azure Red Hat OpenShift
      • Red Hat OpenShift Virtualization
      • Red Hat OpenShift Lightspeed
    • Integration & App Connectivity

      • Red Hat Build of Apache Camel
      • Red Hat Service Interconnect
      • Red Hat Connectivity Link
    • AI/ML

      • Red Hat OpenShift AI
      • Red Hat Enterprise Linux AI
    • Automation

      • Red Hat Ansible Automation Platform
      • Red Hat Ansible Lightspeed
    • Developer tools

      • Red Hat Trusted Software Supply Chain
      • Podman Desktop
      • Red Hat OpenShift Dev Spaces
    • Developer Sandbox

      Developer Sandbox
      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Secure Development & Architectures

      • Security
      • Secure coding
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
      • View All Technologies
    • Start exploring in the Developer Sandbox for free

      sandbox graphic
      Try Red Hat's products and technologies without setup or configuration.
    • Try at no cost
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • Java
      Java icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • API Catalog
    • Product Documentation
    • Legacy Documentation
    • Red Hat Learning

      Learning image
      Boost your technical skills to expert-level with the help of interactive lessons offered by various Red Hat Learning programs.
    • Explore Red Hat Learning
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Rest in peace: GCC Toolset and GNU Debugger

October 15, 2024
Keith Seitz
Related topics:
C, C#, C++CompilersDeveloper Tools
Related products:
Red Hat Enterprise Linux

Share:

    It is with great sadness that I announce the passing of GCC Toolset (GTS) GNU Debugger (GDB), which will no longer be a part of Red Hat Enterprise Linux (RHEL).

    Persiflage aside, I am not actually sad to make this announcement at all, and I suspect many readers will not be upset by this news either.

    TL;DR

    The last supported version of GTS GDB will be 13.1, available across the RHEL portfolio. Starting with RHEL 9.5 and RHEL 10 beta, GDB will be rebased to the most recent GDB release, bringing the newest features and compiler support to every RHEL user. GTS will still include GDB on RHEL 8 as that product enters EUS.

    What is GTS?

    GTS stands for GCC Toolset, an AppStream package set comprising the latest-and-greatest C/C++ toolchain components. It is how Red Hat gives customers access to a tested and trusted modern toolchain over the "standard" system toolchain. GTS is freely available to all RHEL subscribers: just dnf install it.

    GDB has been an integral part of GTS since its inception, allowing users to take advantage of newer compiler features, whether that be new standard support or new and improved debugging information output by modern GCC compilers. While GDB specifically remains largely compiler and compiler-version-agnostic, updated debugging information from newer compilers may not be properly handled by older versions of GDB.

    While organizations may be understandably hesitant to recertify their software using a newer compiler, there is typically no need for this hesitancy when it comes to using a newer debugger.

    This would allow users to take advantage of a myriad of new debugger features.

    Why?

    This may come as a surprise to many readers, but in my experience, very few of our customers even know that GCC Toolset exists. Actually, even very few Red Hat engineers know of its existence.

    RHEL 9.4 ships GDB 10.2, released in February, 2021. For RHEL 9.5/10, this has been rebased to 14.2, released in February, 2024. That’s three years of bug fixes and new features. (If for some reason you are still on RHEL 8, I highly recommend you use GTS GDB—especially for C++ development. Simply dnf install gcc-toolset-13-gdb and note that GTS 14 should be arriving soon.)

    I am not going to sugarcoat this with marketing-speak. One of the compelling reasons for this decision was to lessen our maintenance burden. Releasing GDB is a very labor-intensive process, involving many man-hours of testing and test analysis. This allows us to effectively release one new version of GDB everywhere, ensuring it is of the highest quality we can possibly deliver to our customers.

    However, we also believe that this is a practical boon to our customers, who can now use the same feature-rich version of GDB across all RHEL releases without the overhead of using GTS. No more scl enable gcc-toolset-13 /bin/bash. GDB will be the same wherever you debug.

    What to expect with the new GDB

    The complete list of features and bug fixes added by this rebase are far too numerous to completely enumerate, but here’s a brief list of the most important user-visible changes between gdb-10.2 (RHEL 9.4) and gdb-14.2 (RHEL 9.5):

    • Improved Clang compatibility.
    • On-demand debuginfo support with debuginfod.
    • Terminal, source, and disassembly syntax highlighting.
    • Support for Debugger Adapter Protocol (DAP).
    • Support for new hardware features, e.g., AArch64 SME and MTE support.
    • New TUI features, e.g., Python integration and mouse actions.
    • Expanded Python scripting support, new events, new data and runtime classes, disassembler interface; ability to write new GDB/MI commands in Python.
    • Many new convenience variables and functions, e.g., $_inferior_thread_count, $_hit_bpnum/$_hit_locno, $_gdb.set_parameter(). 

    For a complete list of all the new features, check out GDB’s NEWS file on sourceware. Everything dating back to and including GDB 11.1 is included in the rebase.

    Happy (and more productive) debugging!

    Related Posts

    • Understanding GCC warnings

    • Remote debugging with GDB

    • Debugging binaries invoked from scripts with GDB

    • Debuginfo is not just for debugging programs

    • How the GNU C Library handles backward compatibility

    Recent Posts

    • GuideLLM: Evaluate LLM deployments for real-world inference

    • Unleashing multimodal magic with RamaLama

    • Integrate Red Hat AI Inference Server & LangChain in agentic workflows

    • Streamline multi-cloud operations with Ansible and ServiceNow

    • Automate dynamic application security testing with RapiDAST

    What’s up next?

    Learn how large language models (LLMs) are created and use Red Hat Enterprise Linux AI to experiment within an LLM in this hands-on learning path.

    Start the activity
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue