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]

Request for clarification - call frame instruction DW_CFA_remember_state


Hi,

I would very much appreciate an answer to the following.

In section 6.4.2 Call Frame Instructions, Draft 5DW,
November 30, 2000 states:

  Re 13. DW_CFA_remember_state
    The DW_CFA_remember_state instruction takes no arguments.
    The required action is to push the set of rules for every
    _register_....

It is unclear from section 6.4.1 "Structure of Call Frame
Information" whether or not CFA is intended to be a register
for this purpose.

I incline to the view that CFA is NOT intended to be a register,
but the evidence for this view is IMO very weak. The standard
states (with elisions, and my deductions in brackets [and]):

    The first column indicates an address for every location... 
    The first column of the rules defines the CFA rule which is a
    register and a signed offset ... [weak evidence that CFA _is_
    intended to be a register].
    The remaining columns are labeled by register number. ...
    The register columns contain rules ...
    [weak evidence that register columns are distinguished from
    the CFA column and hence that the CFA is NOT intended to
    be a register...].

So two questions:
 -  Which interpretation does the standard intend?
 -  Will the intended interpretation be made clearer
    before publication?

It is possible that this question is germane to other call
frame instructions---I haven't reviewed that.

Many thanks,

---Lee Smith (Fellow, and Core Tools Manager, ARM, Development Systems
Division)


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