This is the mail archive of the
dwarf2@corp.sgi.com
mailing list for the dwarf2 project.
Re: Requested PROPOSAL(S) regarding multisection location and ranges lists
- To: DWARF2 at corp dot sgi dot com, BRENDER at gemgrp dot zko dot dec dot com
- Subject: Re: Requested PROPOSAL(S) regarding multisection location and ranges lists
- From: brender at gemgrp dot zko dot dec dot com (Ron 603-884-2088)
- Date: Mon, 29 Jan 2001 11:46:36 -0500
- Reply-To: brender at gemgrp dot zko dot dec dot com (Ron 603-884-2088)
So far there has been a difference of opinion over whether or not the
.debug_aranges section can/should be exploited as part of solving the
multisection location and ranges list problem. Here is a possible compromise
that might have some merit...
1) Define the DW_AT_base_addresses attribute as proposed in 010124.1.
2) Specify that *if* a .debug_aranges section is present for a compilation,
then a DW_AT_base_addresses and DW_AT_ranges attribute need not also
be specified on the DW_TAG_compile_unit DIE -- because the same information
is available in the .debug_aranges section.
This retains the totally optional characteristic of the .debug_aranges on
the part of a producer; if it chooses to provide .debug_aranges then it
serves multiple purposes, but if can choose not to provide it and use the
DW_AT_base_addresses and DW_AT_ranges attributes instead. At least, there
is no needed to redundantly provide the same information more than once.
However, it does make it necessary for a consumer to be prepared to accept
and use either the DW_AT_base_addresses and DW_AT_ranges attributes on a
DW_TAG_compile_unit DIE or the .debug_aranges section, whichever happens
to be present.
So this compromise is truly "half a loaf" when it comes to .debug_aranges
optionality. Still, perhaps it will have some appeal?