This is the mail archive of the
mailing list for the GDB project.
Re: RFC: Variables in blocks of registers
On Sat, Feb 01, 2003 at 11:35:03PM +0100, Mark Kettenis wrote:
> Date: Sat, 01 Feb 2003 15:45:52 -0500
> From: Andrew Cagney <email@example.com>
> > Michael, I think the new multi-arch function is a good idea as long as
> > it is a fallback from explicit debug info support, when we have such.
> > I also think it needs a better name; but I'm not quite sure what. Hmm,
> > that could be mitigated by adequate commenting.
> I suppose Daniel meant me, Mark, here ;-).
Ack ack! I'm sorry, Mark.
> I think it is very dangerous. It's assuming a specific algorithm
> in the compiler. That locks both GDB and GCC into something of a
> death spiral. I think its far better to try and get a proper
> location mechanism working.
> Hmm, I agree that it is better to get a proper location mechanism
> working. However, I don't think we have any hope at getting such a
> mechanism working with stabs. And I don't agree that it is very
> dangerous to assume the specific algorithm that GCC has been using for
> several years. Besides GDB already uses a specific algorithm since it
> assumes that registers have been allocated by the compiler in the
> order that is dictated by GDB's register cache. That algorithm is
> known to be wrong for the majority of GDB's users, makes GDB print
> bugus values and can lead to segfaults in the inferior when setting
> variables. Why not replace this algorithm with something better? The
> changes that are necessary aren't very invasive (see the end of this
> message for the changes to findvar.c and valops.c).
> Daniel, do you think next_allocated_regnum is a better name?
Hmm, yes, I like that better. We'll need to hook in a better mechanism
when we have DW_OP_piece support, but it doesn't need to be designed
now. The basic idea of your patch below looks good to me.
MontaVista Software Debian GNU/Linux Developer