Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Factory:ARM:Rings:1-MinimalX
gdb
gdb-rhbz2261580-intrusive_list-assertion-fix.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb-rhbz2261580-intrusive_list-assertion-fix.patch of Package gdb
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 From: Kevin Buettner <kevinb@redhat.com> Date: Mon, 29 Jan 2024 14:51:22 -0700 Subject: gdb-rhbz2261580-intrusive_list-assertion-fix.patch ;; Backport upstream workaround for GCC 14 problem which cause assertion ;; failures in GDB. [gdb/build] Workaround gcc PR113599 Since gcc commit d3f48f68227 ("c++: non-dependent .* operand folding [PR112427]"), with gdb we run into PR gcc/113599 [1], a wrong-code bug, as reported in PR build/31281. Work around this by flipping inherit order: ... -class thread_info : public refcounted_object, - public intrusive_list_node<thread_info> +class thread_info : public intrusive_list_node<thread_info>, + public refcounted_object ... An argument could be made that this isn't necessary, because this occurred in an unreleased gcc version. However, I think it could be useful when bisecting gcc for other problems in building gdb. Having this workaround means the bisect won't reintroduce the problem. Furthermore, the workaround is harmless. Tested on Fedora rawhide x86_64. Approved-By: Tom Tromey <tom@tromey.com> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31281 [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113599 diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -242,10 +242,11 @@ using private_thread_info_up = std::unique_ptr<private_thread_info>; strong reference, and is thus not accounted for in the thread's refcount. - The intrusive_list_node base links threads in a per-inferior list. */ + The intrusive_list_node base links threads in a per-inferior list. + We place it first in the inherit order to work around PR gcc/113599. */ -class thread_info : public refcounted_object, - public intrusive_list_node<thread_info> +class thread_info : public intrusive_list_node<thread_info>, + public refcounted_object { public: explicit thread_info (inferior *inf, ptid_t ptid);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor