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".