[LLVMdev] How to prevent LLVM from emitting R_X86_64_32 ELF relocations?

Yuri yuri at rawbw.com
Mon Apr 29 13:29:34 PDT 2013


On 04/29/2013 09:12, Keith Walker wrote:
> You only need to go to 64-bit DWARF when your debugging information becomes
> too large to fit in 32-bit DWARF tables.

I am not sure if this is true.
Currently R_X86_64_32 EL relocations are issued for DWARF-32 debug info 
sections. This is because the size of address in DWARF-32 is only 
32-bits, according to the above mentioned specification. Such 
relocations can't be resolved (without overflow) when the base address 
is 64-bit and higher than 4GB threshold.

So I have to always load such ELFs into the space within the first 4GB, 
otherwise relocation resolver will fail with overflow.

Yuri




More information about the llvm-dev mailing list