Bug 2213228

Summary: Don't hardcode gdb.minimal use in gdb-add-index
Product: Red Hat Enterprise Linux 9 Reporter: Nikita Popov <npopov>
Component: gcc-toolset-13-gdbAssignee: Keith Seitz <keiths>
Status: VERIFIED --- QA Contact: Michal Kolar <mkolar>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.3CC: tstellar
Target Milestone: rcKeywords: Bugfix, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gcc-toolset-13-gdb-12.1-3.el9 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 2214593 (view as bug list) Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2188418, 2214593    

Description Nikita Popov 2023-06-07 14:49:29 UTC
gdb carries a patch (in both fedora and rhel) which makes gdb-add-index use gdb.minimal: https://gitlab.com/redhat/centos-stream/rpms/gcc-toolset-13-gdb/-/blob/c9s/gdb-libexec-add-index.patch

Contrary to the comment in the patch, this does not just default to gdb.minimal, but will always use it if present, even if a different gdb has been explicitly specified via $PATH or $GDB.

gdb-add-index on LTO builds produced by Clang sometimes requires a newer gdb than the system version. We would like to make use of the gdb provided by gcc-toolset. However, this patch prevents us from specifying the newer gdb.

It should be possible to fix this issue by adding the same " && ! which $GDB &>/dev/null" check as is present in the first part of the patch.

Comment 1 Keith Seitz 2023-06-09 16:03:35 UTC
This patch has recently been rewritten, and is available
in rawhide:

https://src.fedoraproject.org/rpms/gdb/blob/rawhide/f/gdb-add-index.patch

The most obvious change here is that the environment variable "GDB" is
no longer ignored, and is used if set/valid.

Would that suffice?

I can mock up a test build for you, if you'd like to verify. Just let
me know.

Would we need this for RHEL8, too?

Comment 2 Nikita Popov 2023-06-12 09:28:42 UTC
Thanks! This patch should work for us. I did the following in a mock environment:

> source scl_source enable gcc-toolset-13
> vim /opt/rh/gcc-toolset-13/root/bin/gdb-add-index (and replace with the new script)
> export GDB=/opt/rh/gcc-toolset-13/root/usr/bin/gdb
> gdb-add-index build/BUILD/lldb-16.0.1.src/redhat-linux-build/bin/lldb-server

And this worked without error.

> Would we need this for RHEL8, too?

Just RHEL 9 is enough for our purposes.

Comment 3 Michal Kolar 2023-06-28 11:02:57 UTC
Verified with gcc-toolset-13-gdb-12.1-3.el9.