This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: [dwarf2read.c] Avoid using section index if not yet set
- To: Jim Blandy <jimb at cygnus dot com>
- Subject: Re: RFA: [dwarf2read.c] Avoid using section index if not yet set
- From: Fernando Nasser <fnasser at redhat dot com>
- Date: Fri, 11 May 2001 16:56:17 -0400
- CC: gdb-patches at sources dot redhat dot com
- Organization: Red Hat Canada
- References: <3AFB90A7.D8F37C43@redhat.com> <npu22rpqmb.fsf@zwingli.cygnus.com>
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