This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] aarch64: ld: fix relaxations for ilp32 mode
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: Yury Norov <ynorov at caviumnetworks dot com>
- Cc: <binutils at sourceware dot org>, Jiong Wang <jiong dot wang at foss dot arm dot com>
- Date: Thu, 19 Jan 2017 13:34:28 +0100
- Subject: Re: [PATCH] aarch64: ld: fix relaxations for ilp32 mode
- Authentication-results: sourceware.org; auth=none
- References: <1484825847-30407-1-git-send-email-ynorov@caviumnetworks.com>
On Jan 19 2017, Yury Norov <ynorov@caviumnetworks.com> wrote:
> @@ -5640,11 +5669,12 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
> if (is_local)
> {
> /* GD->LE relaxation:
> - adrp x0, :tlsgd:var => movz x0, :tprel_g1:var
> + adrp x0, :tlsgd:var => movz R0, :tprel_g1:var
> or
> - adrp x0, :tlsdesc:var => movz x0, :tprel_g1:var
> - */
> - bfd_putl32 (0xd2a00000, contents + rel->r_offset);
> + adrp x0, :tlsdesc:var => movz R0, :tprel_g1:var
> +
> + Where R is x for LP64, and x for ilp32. */
s/x/w/, and ILP32 for consistency.
> @@ -5707,17 +5738,17 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
> {
> /* Tiny GD->LE relaxation:
> adr x0, :tlsgd:var => mrs x1, tpidr_el0
> - bl __tls_get_addr => add x0, x1, #:tprel_hi12:x, lsl #12
> - nop => add x0, x0, #:tprel_lo12_nc:x
> - */
> + bl __tls_get_addr => add R0, R1, #:tprel_hi12:x, lsl #12
> + nop => add R0, R0, #:tprel_lo12_nc:x
> +
> + Where R is x for LP64, and x for ilp32. */
Ditto.
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."