991108.5 B A D. Anderson Editoria Lookup by address

Section 6.1.2, Lookup by address .
    .debug_aranges

Each entry is a beginning-address followed by a length.
And the distinguished entry 0,0 is used to denote
the end of a range of entries.

This means that one must be careful not to emit a zero length
in a descriptor,
as the beginning address of
a normal entry might be 0
and the resulting 0,0 would be taken as end-of-range, not
as a valid entry.

Proposal:

Add:
  "An address range descriptor with a zero length field
  is ill-formed if the beginning address of the descriptor
  could be zero, since if the beginning
  address is zero the descriptor will
  look like the end-of-range descriptor."

or something like that to the end of the last paragraph of 6.1.2.


Adopted with modifications.

In Section 6.1.2, insert "non-zero" to read as follows:

"Each descriptor is a pair consisting of the beginning address of a range of text or data covered by some entry owned by the corresponding compilation unit entry, followed by the non-zero length of that range."