Referencing coordinates
Any debugging information entry representing an object,
module, or subprogram may have a DW_AT_IBM_xref_coord attribute
whose value is a data block form. This can be used to indicate all
the occurrence of a variable in the program source.
The value of the DW_AT_IBM_xref_coord attribute
contains at least one pair of unsigned LEB128 numbers representing
the source line number and source column number at which the first
character of the identifier of the referencing object appears. The
source column number 0 indicates that no column has been specified.
To conserve space, the source line numbers are sorted in ascending
order.
Only the first pair of unsigned LEB128 contains the actual source line number and source column number. In the subsequent pairs, the first number contains the delta source line number, that is the actual source line number minus the source line number or the previous entry. The column number for each pair contains the actual source column number.
1 2 3
01234567890123456789012345678901234567890
----------|---------|---------|----------
0149: Display s15a
0150: Compute s30 = s15a * s15athe variable s15a appears
in three places at source coordinates: 149,20;150,26 and 150,33.
These 3 pairs of values are encoded as:149,20;1,26;0,33