[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