Issue 141001.1: Proposal to reserve .debug_macro opcode 0xff
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.