This is the mail archive of the
gdb-patches@sourceware.cygnus.com
mailing list for the GDB project.
Re: [PATCH] in_prologue() fix
- To: Elena Zannoni <ezannoni at cygnus dot com>
- Subject: Re: [PATCH] in_prologue() fix
- From: Jim Blandy <jimb at zwingli dot cygnus dot com>
- Date: 26 Apr 2000 17:17:26 -0500
- Cc: gdb-patches at sourceware dot cygnus dot com
- References: <14598.9829.764888.505476@kwikemart.cygnus.com>
> It may be that the real fix is to make ecs->stop_func_start be the
> beginning of the function where the adjusted stop_pc is. However that
> would require several changes to H.I.E. But in any event in_prologue()
> is wrong for this particular case.
My first question is, if HIE can find enough symbolic information to
set ecs->stop_func_{name,start,end}, how come in_prologue can't find
it?
In other words: your explanation implies that HIE has some way to find
the function extent, but happens to be wrong because of
DECR_PC_AFTER_BREAK lossage. But in_prologue knows the correct PC;
why can't it use the same mechanism HIE used earlier to get the right
answer?
Also, aren't there other adverse consequences when
ecs->stop_func_{name,start,end} are wrong? I think the HIE fix is the
right thing. HIE is painful for me too, but otherwise, you'll just
get another CR in a month.
If you've tested the change on SPARC and i386, it's okay with me.