Issue 141001.1: Proposal to reserve .debug_macro opcode 0xff

Author: Petr Machata
Champion: Michael Eager
Date submitted: 2014-10-01
Date revised:
Date closed:
Type: Improvement
Status: Rejected
DWARF Version: 5
 
Section .debug_macro, pg 
BACKGROUND

This is related to .debug_macro proposal, originally presented here:
  http://www.dwarfstd.org/issues/120604.1.html

The numerical values and semantics of DW_MACINFO_* opcodes are
equivalent to their new-style DW_MACRO_* counterparts.  So a decoder
could transparently read in .debug_macro instead of .debug_macinfo, and
serve the opcodes found there to a client, without fear that they get
misinterpreted.

Were it not for DW_MACINFO_vendor_ext, 0xff.  This value, in new-style
sections, is part of the vendor extension block, as DW_MACRO_hi_user.
It could be allocated and emitted, and an extant client that's being
served a .debug_macro content, would misinterpret it as
DW_MACINFO_vendor_ext.

I would therefore like to propose that the opcode 0xff is considered
reserved, and DW_MACRO_hi_user is changed to 0xfe.

A change like this would allow existing Dwarf-consuming libraries to
serve .debug_macro opcodes and arguments to clients through the same
interfaces that they use to serve .debug_macinfo.

PROPOSAL

Table 7.26: Macro information entry type encodings

Remove: 
| DW_MACRO_hi_user | 0xff |


Add: 
| DW_MACRO_hi_user | 0xfe |
| /reserved/         | 0xff |

--
10/21/2014 -- Rejected.