This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mystified by "Internal error: pc 0x89f21e10 read in psymtab, but not in symtab


Yes, it looks like my patch was broken.  The stupid thing is, I never
actually went on to do the rest of the work that patch was supposed to
prepare GDB for, so its effect has been entirely deleterious.  :(
H. J.'s trademark bitterness aside, I do care that my patch broke GDB.
I don't remember ever seeing his bug report and patch before; I must
have missed them.  I apologize for the trouble that has caused.

Since I don't have any plans to proceed with the work I sketched out
in:

http://sources.redhat.com/ml/gdb-patches/2001-10/msg00304.html

in the immediate future, it makes sense to me to simply revert my
patch.  If I start the work again, I can always re-submit the patch,
but with the problem H. J. and Earl found corrected.

Can anyone come up with a test for this that one could run on Linux
native?

"H. J. Lu" <hjl@lucon.org> writes:

> On Sun, Sep 15, 2002 at 09:42:51PM -0700, Earl Chew wrote:
> > H. J. Lu wrote:
> > > That patch is broken. See
> > > 
> > > http://sources.redhat.com/ml/gdb/2002-03/msg00197.html
> > > http://sources.redhat.com/ml/gdb/2002-03/msg00202.html
> > > 
> > > Unfortunately, no one seems to care.
> > 
> > I care, I care!
> > 
> > How eerie. I wrote a set of changes this morning, and now comparing
> > with your changes --- it's uncanny how close they are.
> > 
> > I enclose my patches below for you to peruse. I have some questions
> > regarding some minor differences:
> > 
> > a. I figured it was better in general to invoke the relocation function
> >     pointer with the section offset structure, and let each
> >     implementation figure out what relocations are required. I
> >     thought that some implementations (in the future) might cache
> >     things other than text locations (eg data locations).
> 
> I don't think it helps since objfile_relocate only does offset. If you
> pass delta, it is no longer symmetric. You don't want to use the same
> function to do more than one thing here. You can always change it
> together when you modify objfile_relocate later.
> 
> > 
> > b. In dbxread.c, I initialise the relocate_symtab pointer in
> >     start_psymtab _and_ end_psymtab (where the code loops and allocates
> >     new psymtabs and copies values across).
> > 
> >     Your patch doesn't initialise the function pointer here, and I
> >     believe that this will result in an uninitialised field.
> 
> I might miss that one.
> 
> 
> H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]