This is the mail archive of the
dwarf2@corp.sgi.com
mailing list for the dwarf2 project.
PROPOSAL(3): Add aliases "loclist", "lineptr", and "macptr"
- To: Michael Eager <eager at eagercon dot com>
- Subject: PROPOSAL(3): Add aliases "loclist", "lineptr", and "macptr"
- From: David Weatherford <david dot weatherford at sun dot com>
- Date: Mon, 10 Apr 2000 15:25:57 -0700
- Cc: Dwarf 2 <dwarf2 at corp dot sgi dot com>
- Organization: Sun Microsystems
- References: <38E8D81F.8B64ECEA@eagercon.com>
- Reply-To: David Weatherford <david dot weatherford at sun dot com>
Assuming my "three new FORMs" proposal gets shot down, here's a
weaker version. The only difference is that we don't actually
define three new FORMs, just add aliases for the sake of documentation.
PROPOSAL
Remove the two paragraphs added to 7.5.4 by my previous proposal,
which explain the usage of class constant for pointers into .debug_loc
etc., and add, instead, three new FORM classes. Add to the list in
Section 7.5.4 (between "flag" and "reference", keeping it alphabetical):
lineptr
This is an offset into the .debug_line section. It
consists of a 4-byte value which is the offset from
the beginning of the .debug_line section to the first
byte of the data making up the statement list for the
compilation unit. It is relocatable in a relocatable
object file, and relocated in an executable or shared
object. Alias for DW_AT_data4.
loclist
This is an offset into the .debug_loc section. It
consists of a 4-byte value which is the offset from
the beginning of the .debug_loc section to the first
byte of the data making up the location list for the
object in question. It is relocatable in a relocatable
object file, and relocated in an executable or shared
object. Alias for DW_AT_data4.
macptr
This is an offset into the .debug_macinfo section. It
consists of a 4-byte value which is the offset from
the beginning of the .debug_macinfo section to the first
byte of the data making up the macro information for the
compilation unit. It is relocatable in a relocatable
object file, and relocated in an executable or shared
object. Alias for DW_AT_data4.
Add (in italics) the following paragraph after the above list:
<i>The three classes lineptr, loclist, and macptr are aliases
for DW_AT_data4. They exist only to simplify this description.</i>
Modify Figure 17 (Attribute Encodings) as follows:
DW_AT_location block, loclist
DW_AT_stmt_list lineptr
DW_AT_string_length block, loclist
DW_AT_return_addr block, loclist
DW_AT_data_member_location block, loclist
DW_AT_frame_base block, loclist
DW_AT_macro_info macptr
DW_AT_static_link block, loclist
DW_AT_use_location block, loclist
DW_AT_vtable_elem_location block, loclist
NOTE: I intentionally omitted DW_AT_segment from the list above; there
I believe "constant" was intended to be an actual constant value.
--
Dave Weatherford Forte Tools
David.Weatherford@Sun.COM Sun Microsystems, Inc.