Issue 020202.1: DW_LNS_set_isa Incomplete

Author: Al Dunsmuir
Champion: Jeff Nelson
Date submitted: 2002-02-02
Date revised:
Date closed:
Type: Clarification
Status: Accepted with modifications
DWARF Version: 3
PROBLEM DESCRIPTION NEEDED

Al Dunsmuir posted several questions and proposed changes
on 2 Jan 2002 regarding the interpretation and use of the
line number ISA state register and the DW_LNS_set_isa. After
discussion and clarification, the resulting proposal boiled
down to changing the default initial value of the ISA state
register to 0 (from architecturally defined default) and
adding some clarifying wording.


PROPOSAL

In Section 6.2.2, table of state registers, add the following
to the description of the ISA register:

    "The value 0 indicates that the instruction set is not
    significant or not yet set. On an architecture that
    supports just one instruction set, it follows that that
    instruction set is the one to assume."

In the following list of initial states, change the description
of isa to read:

    isa     0

and delete the following italic commentary.


RECOMMENDATION

Adopt the proposal.
===============================================================
5/17/2005  Accepted with modifications:
Modify 6.2.2 to read:

   isa     An unsigned integer whose value encodes the applicable instruction
           set architecture for the current instruction.

           *The encoding of instruction sets should be shared by all
           users of a given architecture. It is recommended that this encoding
           be defined by the ABI authoring committee for each architecture.*
   At the beginning of each sequence within a line number program, the state of
   the registers is:
   . . .
   isa     0

   *The value 0 specifies that the instruction set is the architecturally
   determined default instruction set.  This may be fixed by the ABI, or it may
   be specified by other means, for example, the object file description.*