This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [MIPS] Is it legal for the assembler to generate more than 64K sections?


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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]