On first invocation of this API, DW_TAG_IBM_src_attr attribute
is added to the given DW_TAG_IBM_src_file DIE. The
value of the attribute contains the offset in .debug_srcattr containing
the source attribute program. All subsequent producer APIs that adds
row to a source attribute matrix will be added to this source attribute
program until this API is called again with a different DW_TAG_IBM_src_file DIE.
The dwarf_add_srcattr_entry operation
adds a row into the source attribute matrix. The owner of the source
attribute program is specified by the previous dwarf_srcattr_table() call. If a row has already been created with the same line_no and col_no,
the existing source fragment object will be returned with the typeflag attribute
merged with the existing entry. Additional information can be
appended to the row via the returned source fragment object (Dwarf_P_SrcFrag).
The rows entered into the source attribute matrix are always sorted
using line_no first, then col_no.
The dwarf_add_srcattr_xrefitem operation
adds a DIE to the given source fragment object. The input DIE must
not have a parent DIE. The parent DIE is created during creation of
the .debug_srcattr section, and the parent DIE will
have the DW_TAG_IBM_xreflist tag. All the DIEs added
to the input source fragment object are written into the .debug_xref section
under a common DW_TAG_IBM_xreflist DIE.