This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [12/16][binutils][AARCH64]Add relocation support for large memory model. [BFD]Create GOT section for TLSLE_MOVW_TPREL_G(1, 1_NC, 2).
- From: Jiong Wang <jiong dot wang at foss dot arm dot com>
- To: Renlin Li <renlin dot li at arm dot com>, "binutils at sourceware dot org" <binutils at sourceware dot org>
- Cc: Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, Nicholas Clifton <nickc at redhat dot com>
- Date: Thu, 3 Dec 2015 14:23:09 +0000
- Subject: Re: [12/16][binutils][AARCH64]Add relocation support for large memory model. [BFD]Create GOT section for TLSLE_MOVW_TPREL_G(1, 1_NC, 2).
- Authentication-results: sourceware.org; auth=none
- References: <55EF2231 dot 1060805 at arm dot com>
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.
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.