[LLVMdev] [ARM] Mixing rel/rela relocations

Shankar Easwaran shankare at codeaurora.org
Mon Nov 4 11:44:56 PST 2013


On 11/4/2013 1:40 PM, Jack Carter wrote:
> On 11/04/2013 11:15 AM, Eric Christopher wrote:
>>
>>
>>
>> On Mon, Nov 4, 2013 at 11:05 AM, Shankar Easwaran
>> <shankare at codeaurora.org <mailto:shankare at codeaurora.org>> wrote:
>>
>>     Hi,
>>
>>     I was looking at the ARM ABI
>> docs(http://infocenter.arm.__com/help/topic/com.arm.doc.__ihi0044e/IHI0044E_aaelf.pdf
>> <http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf>)
>>     and they mention.
>>
>>     "A binary file may use REL or RELA relocations or a mixture of the
>>     two (but multiple relocations for the same
>>     address must use only one type)."
>>
>>     Does LLVM emit rel/rela relocations with ARM ?
>>
>>
>> I hope not. Ew.
>
> The only reason this is Ew is that llvm has decided not to prepare for 
> it. There shouldn't be a single rel/rela type for a given output. The 
> one that works for the given situation for the given section should be 
> used. The mechanism for handling both should not be complicated.
>
> There are rules about relocation order and multiple relocations can 
> operate on a single point in the binary. There is no reason a section 
> of .rel relocations cannot operate alongside a section of .rela 
> relocations.
>
Is there a reason behind this, if the compiler doesit ? anything on 
performance ? It makes tools that operate on the object files bit rusty.

I would have preferred using RELA all over.

Thanks

Shankar Easwaran



More information about the llvm-dev mailing list