This is the mail archive of the dwarf2@corp.sgi.com mailing list for the dwarf2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PROPOSAL(3): Add aliases "loclist", "lineptr", and "macptr"


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]