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: [12/16][binutils][AARCH64]Add relocation support for large memory model. [BFD]Create GOT section for TLSLE_MOVW_TPREL_G(1, 1_NC, 2).




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.


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