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


Ron 603-884-2088 wrote:
> 
> But then, I don't understand this:
> 
> >What you describe as an ambiguity is my pointing out that the
> >debugger can choose to take any of several actions when presented
> >with a non-defining entry with location information:
> >
> >  1) Ignore location information in the defining entry, and
> >     only use the location information provided in the non-defining
> >     entry.
> >  2) Treat the location information provided in both entries as
> >     valid, describing a variable with multiple locations.
> >  3) Use only location information in the defining entry.
> >
> >#3 is current behavior.  #2 is what I would recommend.  #1 is
> >Todd's preference.  You may find one or more of these to be better
> >implementation choices than the others, or perhaps you have
> >another behavior.
> 
> Those words sound to me like you are suggesting that a debugger can
> correctly, that is, act consistently with the DWARF interpretation, by
> choosing any of the three actions. But (I am relieved to hear) you now
> seem to be saying that we (the DWARF committee) can choose which among
> those reflects the actual meaning--and that you advocate/recommend #2.
> In which case, a debugger has no choices--if it is to act consistently
> with the specified DWARF meaning. (It *has* to "choose" #2 as well!)

I repeated that this is an implementation choice; I never suggested 
that I felt that the Dwarf committee could or should impose implementation 
choices.  My preference of one implementation choice over another is 
merely my opinion.  I truly am amazed at how you can read what I
said about debuggers having many choices and construe it to mean 
exactly the opposite.

You keep raising issues which involve deciding whether a debugger
acts correctly or not, and these are outside the scope of the Dwarf
specification.  I don't believe that the Dwarf committee wants to 
say anything about what debuggers should do.

> Finally, "#3 is current behavior." is what (mis)lead me to commenting
> on "current" (ie V2) debuggers. There are no V2.1 debuggers to have
> any current behavior so I thought you must be saying something about
> exiting V2 debuggers...
>
> Okay, enough about ambiguity. Whether or not #3 is current behavior
> in any sense aside, #3 really a is non-useful alternative so the real
> choice comes down #1 vs #2. It now appears that:
> 
>   - You favor #2
>   - Todd and I favor #1
> 
> And debuggers have only one choice: to act consistently with what
> the committee chooses as "the" DWARF interpretation, or not.

If I wanted to modify my debugger to support location information
in non-defining declarations, and have it act in the same fashion 
as the previous version, then I would implement choice #3.

This is an implementation choice.  It may be different from your
implementation choice, but there is nothing in the Dwarf specification
that says that this (or any other choice) is better than another.

Again, you keep attempting to prescribe how debuggers should 
behave.  Dwarf is a description of programs, not debuggers.

-- 
Michael Eager	 Eager Consulting     eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077


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