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: [PATCH] aarch64: ld: fix relaxations for ilp32 mode


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


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