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]

Re: Requested PROPOSAL(S) regarding multisection location and ranges lists


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?

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