[MIPS] Is it legal for the assembler to generate more than 64K sections?
Andrew Pinski
pinskia@gmail.com
Mon Feb 3 21:37:00 GMT 2014
On Mon, Feb 3, 2014 at 1:12 PM, Jack Carter <Jack.Carter@imgtec.com> wrote:
>>(.text._ZN4llvm25SmallVectorTemplateCommonIN5clang19RecursiveASTVisitorINS1_11AttrVisitorEE10EnqueueJobEvE4backEv[_ZN4llvm25SmallVectorTemplateCommonIN5clang19RecursiveASTVisitorINS1_11AttrVisitorEE10EnqueueJobEvE4backEv]+0x64):
>>> relocation truncated to fit: R_MIPS_GOT16 against `no symbol'
>>>
>>> Basically building LLVM with a MIPS GCC. I noticed that the section
>>> count was way above 16 bits and seized on that as being the culprit.
>>
>>Ah, OK. Looks like a multigot failure at face value. Are you using
>>recent binutils (2.24)? It has some fixes in that area.
>
> I rebased on Thursday.
>
> Multigot is a good area for me to look since I am mucking with the got with ifunc anyway.
It could also be that the GOT for that object file is just too big. I
bet that is the case which means you need to use the option -mxgot .
Multigot only works with different object files, it does not work
inside one object file as far as I know.
Thanks,
Andrew Pinski
>
> Cheers,
>
> Jack
>
>>
>>Thanks,
>>Richard
>
More information about the Binutils
mailing list