This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
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