From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: Jim Blandy Cc: gdb-patches@sources.redhat.com Subject: Re: RFA: [dwarf2read.c] Avoid using section index if not yet set Date: Fri, 11 May 2001 13:58:00 -0000 Message-id: <3AFC51F1.A503756D@redhat.com> References: <3AFB90A7.D8F37C43@redhat.com> X-SW-Source: 2001-05/msg00243.html Jim Blandy wrote: > > This patch is not approved. > > At the moment, GDB isn't really designed to read debug info from .o > files. I have no objection to enhancing GDB to provide this support, > but it's ridiculous to try to do it by running GDB, looking to see > where it crashes, and adding `if' statements to keep that code from > being executed. > > The author of the patch needs to provide a complete story explaining > how loading .o files will work. In particular, I want to know how > they will provide values for undefined symbols referenced in the .o > file. The absence of a coherent answer to that question is the > underlying cause of the crash this patch attempts to plaster over. > Thank you Jim. I did not have the necessary knowledge to appraise this contributed patch. I will get back to the originator and ask for more details. Reagrds, Fernando > > * dwarf2read.c (new_symbol): Do not attempt to use the section > > index of a symbol if it is not yet set. > > > > Index: dwarf2read.c > > =================================================================== > > RCS file: /cvs/src/src/gdb/dwarf2read.c,v > > retrieving revision 1.24 > > diff -c -p -r1.24 dwarf2read.c > > *** dwarf2read.c 2001/04/30 10:30:27 1.24 > > --- dwarf2read.c 2001/05/10 23:06:28 > > *************** new_symbol (struct die_info *die, struct > > *** 4195,4203 **** > > if (SYMBOL_VALUE_ADDRESS (sym)) > > { > > fixup_symbol_section (sym, objfile); > > ! SYMBOL_VALUE_ADDRESS (sym) += > > ! ANOFFSET (objfile->section_offsets, > > ! SYMBOL_SECTION (sym)); > > SYMBOL_CLASS (sym) = LOC_STATIC; > > } > > else > > --- 4195,4204 ---- > > if (SYMBOL_VALUE_ADDRESS (sym)) > > { > > fixup_symbol_section (sym, objfile); > > ! if (SYMBOL_SECTION (sym) != -1) > > ! SYMBOL_VALUE_ADDRESS (sym) += > > ! ANOFFSET (objfile->section_offsets, > > ! SYMBOL_SECTION (sym)); > > SYMBOL_CLASS (sym) = LOC_STATIC; > > } > > else -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9