This is the mail archive of the
dwarf2@corp.sgi.com
mailing list for the dwarf2 project.
Request for clarification - call frame instruction DW_CFA_remember_state
- To: dwarf2 at corp dot sgi dot com
- Subject: Request for clarification - call frame instruction DW_CFA_remember_state
- From: Lee Smith <Lee dot Smith at arm dot com>
- Date: Wed, 28 Feb 2001 12:43:37 +0000
- Reply-To: Lee Smith <Lee dot Smith at arm dot com>
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)