DWARF Standard


HOME
SPECIFICATIONS
FAQ
ISSUES



020118.1 Ron Brender Opcode_base Value Editorial Accepted with modifications Ron Brender


Keith Walker wrote:
>DWARF3 Draft 7Section 6.2.4, Definition of opcode_base states the following:
>
>	8. opcode_base (ubyte)
>
>	The number assigned to the first special opcode.
>
>	This number may be larger or smaller than the number of standard
>	opcodes defined for the specified version of the line number
>	information (12 in DWARF V3, 9 in DWARF V2).  If smaller, then the
>	higher numbered opcodes are not used in the line number table
>	of this unit (and the codes are treated as special opcodes).  If
>	greater, then the numbers between that of the highest standard
>	opcode and the first special opcode (not inclusive) are necessarily
>	code for vendor extensions.
>
>It appears to me that the description in the 2nd paragraph suffers from an
>"off by one" error in that the field contains the number assigned to the
>first special opcode and not the number of standard (+ user defined)
>opcodes in use.

Yes, Keith is entirely correct.

Perhaps the simplest repair is to change the latter paragraph to read

	This number may be larger or smaller than the number of standard
	opcodes defined for the specified version of the line number
	information plus one, that is, larger or smaller than 13 in
	DWARF V3 or 10 in DWARF V2.  If smaller, then the ...

The grammar is a touch awkward, but I think clear and unambiguous.

=====================================================================
5/17/2004:  Accepted with modifications:
 8. opcode_base (ubyte) 
    The number assigned to the first special opcode.

    This number is typically the next higher number after the  number    |
    of standard opcodes defined for the specified version of the line
    number information (12 in DWARF Version 3, 9 in DWARF Version 2).
    If smaller, then the higher numbered standard  opcodes are not	    |
    used in the line number table of this unit (and the codes are
    treated as special opcodes). If greater, then the numbers between
    that of the highest standard opcode and the first special opcode
    (not inclusive) are used for vendor specific extensions.		    |
    


All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2007-2017 by DWARF Standards Committee.