This is the mail archive of the dwarf2@corp.sgi.com mailing list for the dwarf2 project.


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

Re: Modifies vs. Replaces


> 
> Jim Dehnert wrote:
> >Michael Eager wrote:
> >> 
> >> I'll also note that there appears to be no harm to the program's
> >> execution by updating both the memory and register contents.
> >
> >That's true, as long as the memory isn't used for something else in
> >the meantime (quite unlikely).  But it's important that the debugger
> >_read_ the value from the register -- the two locations aren't
> >equivalent for this purpose.  This was why I suggested, back during
> >the default value discussion, that a possible treatment was to say
> >that a designated element of a list of overlapping ranges (probably
> >the first, maybe the last) be considered primary for reference, but
> >that all must be updated.
> 
> I agree that it is "quite unlikely" for the global home location to be
> used for some other purpose during the time that the "real" value of
> the global variable is somewhere else.
> 
> Moreover, I guess there is no loss of generality here. If the global
> location should not be updated then it need not be described using
> an address range of 0..MAXADDR; it can be described by two (or more)
> entries that describe the set of ranges where it is appropriate to
> be updated.
> 

I agree that the global home location being used for something else is
unlikely.  (Although there's nothing wrong with a compiler doing it.)

But I don't understand your comment about no loss of generality.  Are you
talking about using a location list on the global defining declaration which
describes two (or more) entries, or are you talking about the location list
on the local copy?  If the former, then the places where the global home
location shouldn't be updated would have to be know when the defining
declaration was described.  If the latter, it doesn't seem that it would have
any effect because there would still be the full-range location from the
global defining declaration "unioned" in.

Could you elaborate on what you meant here?

-- 
Todd Allen
Concurrent Computer Corporation


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