[Dwarf-Discuss] Segment selectors for the range list table.

Michael Eager eager@eagercon.com
Thu Jul 16 23:25:53 GMT 2020


On 7/16/20 2:57 PM, David Blaikie wrote:
> 
> 
> On Thu, Jul 16, 2020 at 2:05 PM Michael Eager <eager at eagercon.com 
> 
>     You appear to be starting with a counterfactual premise and using that
>     to postulate a problem where none exists.
> 
> 
> Sorry - I seem to be misunderstanding what you mean by "there are no 
> restrictions on where code or data are located" - I understood that to 
> mean different bits of code could be in different segments.

It does no one good when you take a comment about one point 
(.debug_aranges) and contort it to apply to an unrelated point 
(DW_AT_segment).

Reread my previous comment about the meaning of segment as used in 
DW_AT_segment.   You apparently want it to mean something different.

>     As previously stated, DW_AT_segment provides a way to represent x86
>     segmented addressing.? Each segmented address is mapped to an
>     address in
>     a linear address space.? The mapped address can be used in the ranges.
> 
> 
> Where does the spec say that? How do we construct an answer to the 
> original question from this thread from the words in the spec?

There are many things that the spec does not say about implementation. 
We sometimes suggest best practices, but we don't require implementors 
to follow them.  The DWARF spec is also not written to prevent 
implementors from doing things badly.

Providing an example of the use of DW_AT_segment provides a strong hint 
of how it may be used, without constraining it to one specific 
architecture, or preventing it from being used in other ways.  When we 
have had discussions about whether to give more specific implementation 
details, we have frequently decided to let matters go with a hint, 
rather than a prescription.

While we cannot prevent people from misreading or misinterpreting the 
DWARF spec, we try to answer questions as they arise.

Having been told how address ranges might be implemented for x86 
segmented addresses, is there more to add?

> I don't especially have a need for segmented addresses myself - so I may 
> not be the best person to push for changes/clarifications here - I was 
> trying to answer the original poster's question using what I can see 
> from the spec.

It's rarely beneficial to get into a hypothetical debate.  If you have 
no use case and are just postulating problems for which there is no 
evidence, there isn't much to be gained pursuing this.

>     You appear to be reading the standard to mean something other than what
>     it says.? FORM_addrx is a method to compress FORM_addr, nothing more.
> 
> 
> But it describes segmented addresses - it says so specifically, doesn't 
> it? Using the same wording that is used to describe segmented addresses 
> elsewhere in the spec.

DWARF uses the same description for segmented addresses almost 
everywhere that an address is used.  This is for consistency.  The 
meaning is the same everywhere.


-- 
Michael Eager



More information about the Dwarf-discuss mailing list