[12/16][binutils][AARCH64]Add relocation support for large memory model. [BFD]Create GOT section for TLSLE_MOVW_TPREL_G(1, 1_NC, 2).

Jiong Wang jiong.wang@foss.arm.com
Thu Dec 3 15:19:00 GMT 2015



On 03/12/15 14:57, Jiong Wang wrote:
>
>
> On 03/12/15 14:50, Renlin Li wrote:
>>
>>
>> On 03/12/15 14:23, Jiong Wang wrote:
>>>
>>>
>>> On 08/09/15 19:00, Renlin Li wrote:
>>>> Hi all,
>>>>
>>>> This patch fixes a bug, got section is not generated for 
>>>> TLSLE_MOVW_TPREL_G1,TLSLE_MOVW_TPREL_G1_NC, TLSLE_MOVW_TPREL_G2 
>>>> previously.
>>>>
>>>> LD regression test Okay. Okay to commit?
>>>>
>>>> Regards,
>>>> Renlin
>>>>
>>>> bfd/ChangeLog:
>>>>
>>>> 2015-09-08  Renlin Li <renlin.li@arm.com>
>>>>
>>>>     * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Create GOT section
>>>>         for TLSLE_MOVW_TPREL_G(1, 1_NC, 2) relocation.
>>>
>>> This looks wrong to me, and will cause inconsistent inside AArch64 
>>> backend.
>>>
>>> All TLS Local Executable relocation types don't need any GOT entry, 
>>> we shouldn't listed them here.
>>
>> Yes, you are right. I am wrong there.
>>
>>>
>>> Looks like this patch was trying to fix the following two testcase 
>>> failures:
>>>
>>> Running 
>>> /work/GNU-TOOLCHAIN/binutils-gdb/ld/testsuite/ld-aarch64/aarch64-elf.exp 
>>> ...
>>> FAIL: ld-aarch64/tls-relax-large-gd-le
>>> FAIL: ld-aarch64/tls-relax-large-desc-le
>>>
>>> The correct fix is to add "-shared" to the test option, then the 
>>> symbol _GLOBAL_OFFSET_TABLE_ will be defined, always.
>>
>> -shared could make the test cases pass, but is it required? The test 
>> case itself should be legal even without "-shared".
>
> For that two particular testcases, the most important thing is to make 
> sure the tls relaxations are tested, either "-shared" or not doesn't 
> matter.

Oh, for these GD->LE testcases, shouldn't be shared, otherwise the 
relaxation will not happen.

>
> As you have referenced _GLOBAL_OFFSET_TABLE_, you need to specify 
> -shared, or you can just remove the reference, they are not related 
> what's tested.
>
>>
>> Regards,
>> Renlin Li
>>
>>
>



More information about the Binutils mailing list