From: Tom Tromey Date: Tue, 20 Jun 2023 21:18:23 +0000 (-0600) Subject: Avoid crash with absolute symbol X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dd2532ad8af1676450114e4884ad748d528eafbe;p=binutils-gdb.git Avoid crash with absolute symbol A user supplied an executable and a remote logfile that could be used to crash gdb. The problem is that the BFD section for a particular symbol was null, because the section was not marked "allocated". Digging deeper, the problem was that elfread.c dropped the section for absolute symbols. This patch fixes the crash. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30431 --- diff --git a/gdb/elfread.c b/gdb/elfread.c index 799e3b914f8..7697106e9b6 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -216,7 +216,8 @@ record_minimal_symbol (minimal_symbol_reader &reader, ELF is malformed then this might not be the case. In that case don't create an msymbol that references an uninitialised section object. */ int section_index = 0; - if ((bfd_section_flags (bfd_section) & SEC_ALLOC) == SEC_ALLOC) + if ((bfd_section_flags (bfd_section) & SEC_ALLOC) == SEC_ALLOC + || bfd_section == bfd_abs_section_ptr) section_index = gdb_bfd_section_index (objfile->obfd.get (), bfd_section); struct minimal_symbol *result