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: Rewrite of PROPOSAL 001213.1 re default location


>>>>> "David" == David B Anderson <davea@quasar.engr.sgi.com> writes:

> Jason writes:

> |I disagree.  We must associate a source position with /*break*/, and it
> |seems intuitive for the debug info to choose whichever of x1 or x2 are
> |currently associated with x at that source position.  After all, the user
> |is almost certainly interested in the value of x as mentioned in the code
>     ^^^^^^^^^^^^^^^^
> |displayed.

> Apparently whether you take this position depends on whether you think
> a debugger should
> 	hide the extra stuff introduced by optimization,
> 	making the program look like there was none and it
> 	was simply the original unoptimized app
> or
> 	show all that is going on.

> Both of these positions have been taken in the literature, so
> I don't think we can say one is right and the other wrong.

Fair enough.  And if we stop on a line that doesn't mention x, we don't
have that guidance.

Setting that aside, it seems that we have three ideas of what it means to
have overlapping entries in a location list, which the 2.0 spec says
"describe a situation in which an object exists simultaneously in more than
one place".

1) The entries represent the live locations of different instances of
   the variable.  (Ron)
2) The entries represent multiple live locations for the same instance of
   the variable.  (Jim)
3) The entries represent multiple locations for the same instance of the
   variable, only the innermost of which is live.  (Michael)

I agree with Jim that the current wording is too vague.  What do you think
it ought to mean?  My inclination is toward #3.

Jason

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