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: [rfc] frame->frame => frame->addr && frame->base()



> If the value returned by frame->base() is debug-info dependent, then
> that would suggest that it could have different values for different
> types of debug info.  That in turn suggests that you have to know what
> type of debug info you're dealing with at frame creation time so that
> frame->base can be initialized correctly.

yes.

> Of course, it could be done lazily.  You could just initialize frame->base
> to lazy_base() (or whatever).  lazy_base() would determine the function
> that's really required for that frame + debug info, reset the ->base
> field, and then invoke the function it's just calculated to obtain the
> desired value.
> 
> Implementation details aside, this dependency causes me to wonder if it's
> really a good idea make this operation a member of the frame struct.

I'm still working through that.  If different frames have different 
debug info then they would need different functions.

Initially, I suspect a frame->frame => frame->addr change will go 
through but not a new frame->base() method.  It may not be necessary - 
FRAME_ARGS_ADDRESS_CORRECT appears to be equivalent.  Unfortunatly, 
frame_args_address_correct is bound to the ABI/ISA and not, also, the 
debug info.

Andrew


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