Backport portion of "Fix crash in new DWARF indexer"

Resolves: rhbz#2150363
This commit is contained in:
Keith Seitz 2023-03-28 12:33:20 -04:00
parent b3d3216bfe
commit 7b6a78398f
5 changed files with 51 additions and 0 deletions

View File

@ -815,3 +815,8 @@ Patch199: gdb-rhbz2015131-restore-inferior-terminal-1of2.patch
# (Simon Marchi, related to RHBZ 2015131) # (Simon Marchi, related to RHBZ 2015131)
Patch200: gdb-rhbz2015131-avoid-sigttou-forks-2of2.patch Patch200: gdb-rhbz2015131-avoid-sigttou-forks-2of2.patch
# Change assertion to warning in dw2_find_pc_sect_compunit_symtab
# Based on "Fix crash in new DWARF indexer"
# (Tom Tromey, RHBZ 2150363)
Patch201: gdb-rhbz2150363-warn-dw2_find_pc_sect_compunit_symtab.patch

View File

@ -198,3 +198,4 @@
%patch198 -p1 %patch198 -p1
%patch199 -p1 %patch199 -p1
%patch200 -p1 %patch200 -p1
%patch201 -p1

View File

@ -198,3 +198,4 @@ gdb-rhbz2012818-ibmz-update-5of5.patch
gdb-rhbz2018504-do-not-update-elf-headers.patch gdb-rhbz2018504-do-not-update-elf-headers.patch
gdb-rhbz2015131-restore-inferior-terminal-1of2.patch gdb-rhbz2015131-restore-inferior-terminal-1of2.patch
gdb-rhbz2015131-avoid-sigttou-forks-2of2.patch gdb-rhbz2015131-avoid-sigttou-forks-2of2.patch
gdb-rhbz2150363-warn-dw2_find_pc_sect_compunit_symtab.patch

View File

@ -0,0 +1,40 @@
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
From: Keith Seitz <keiths@redhat.com>
Date: Mon, 27 Mar 2023 16:05:48 -0400
Subject: gdb-rhbz2150363-warn-dw2_find_pc_sect_compunit_symtab.patch
;; Change assertion to warning in dw2_find_pc_sect_compunit_symtab
;; Based on "Fix crash in new DWARF indexer"
;; (Tom Tromey, RHBZ 2150363)
The assertion:
../../gdb/dwarf2read.c:5272: internal-error: compunit_symtab* dw2_find_pc_sect_compunit_symtab(objfile*, bound_minimal_symbol, CORE_ADDR, obj_section*, int): Assertion `result != NULL' failed.
was removed with the "Fix crash in new DWARF indexer" patch. Backport
this assertion removal from this patch.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -5261,15 +5261,15 @@ dw2_find_pc_sect_compunit_symtab (struct objfile *objfile,
if (!data)
return NULL;
- if (warn_if_readin && data->v.quick->compunit_symtab)
- warning (_("(Internal error: pc %s in read in CU, but not in symtab.)"),
- paddress (get_objfile_arch (objfile), pc));
-
result
= recursively_find_pc_sect_compunit_symtab (dw2_instantiate_symtab (data,
false),
pc);
- gdb_assert (result != NULL);
+
+ if (warn_if_readin && result == nullptr)
+ warning (_("(Internal error: pc %s in read in CU, but not in symtab.)"),
+ paddress (get_objfile_arch (objfile), pc));
+
return result;
}

View File

@ -1062,6 +1062,10 @@ fi
%endif %endif
%changelog %changelog
* Tue Mar 28 2023 Keith Seitz <keiths@redhat.com>
- Backport portion of "Fix crash in new DWARF indexer".
(Tom Tromey, RH BZ 2150363)
* Tue May 24 2022 Keith Seitz <keiths@redhat.com> - 8.2-19.el8 * Tue May 24 2022 Keith Seitz <keiths@redhat.com> - 8.2-19.el8
- Backport "Fix restoring of inferior terminal settings" - Backport "Fix restoring of inferior terminal settings"
- Backport "Avoid GDB SIGTTOU on catch exec + set follow-exec-mode - Backport "Avoid GDB SIGTTOU on catch exec + set follow-exec-mode