[LLVMdev] [ARM] Mixing rel/rela relocations

Jack Carter jack.carter at imgtec.com
Mon Nov 4 11:40:54 PST 2013


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.

Unfortunately I believe the single rel/rela type is part and parcel to 
gnu as well and I have resigned myself to going with the flow for now.

Jack

>
> -eric
>
>     Any tests ?
>
>     Thanks
>
>     Shankar Easwaran
>
>     --
>     Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
>     hosted by the Linux Foundation
>
>     _________________________________________________
>     LLVM Developers mailing list
>     LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
>     http://lists.cs.uiuc.edu/__mailman/listinfo/llvmdev
>     <http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>





More information about the llvm-dev mailing list