> On Sep 24, 2018, at 8:44 AM, Robert Harris <robert.m.har...@oracle.com> wrote:
> 
> 
> 
>> On 24 Sep 2018, at 15:33, Greg Clayton <clayb...@gmail.com> wrote:
>> 
>> 
>> 
>>> On Sep 24, 2018, at 7:15 AM, Robert Harris via Dwarf-Discuss 
>>> <dwarf-discuss@lists.dwarfstd.org> wrote:
>>> 
>>> I'd like some clarification regarding what precisely needs to be relocated 
>>> relative to
>>> the object load address when interpreting .debug_frame.  I'm interested in 
>>> versions
>>> 2, 3 and 4.
>>> 
>>> I think the only explicit mention of relocation in DWARF 4 is ยง 6.4.1:
>>> 
>>>     Abstractly, this mechanism describes a very large table...
>>>     ...
>>>     The first column indicates an address for every location that contains
>>>     code in a program. (In shared objects, this is an object-relative 
>>> offset.)
>>> 
>>> Thus adjustments need to be made to only
>>> 
>>>     An FDE's initial_location field
>>>     DW_CFA_set_loc's operand
>>> 
>>> Have I missed anything?  I see some ambiguity in the definition of
>>> DW_CFA_def_cfa_expression and it's making me wonder if there are any
>>> other occasions when a result would require relocation.
>> 
>> Any DWARF expression can contain a DW_OP_addr, which has an address 
>> argument, and would need to be relocated.
> 
> Do you mean that DW_OP_addr's argument should be relocated in all instances
> of a DWARF expression, i.e. in other .debug_ sections, or just in the context 
> of
> .debug_frame?

I was specifically talking about DWARF expressions in any .debug_frame info. 
But in general, yes, any DWARF expression that contains a DW_OP_addr might need 
a relocation for its address argument.

Greg
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to