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: [AArch64] Don't generate GOT entry for large model TLS LE relocation


On 23/12/15 18:10, Marcus Shawcroft wrote:
On 23 December 2015 at 16:55, Jiong Wang <jiong.wang@foss.arm.com> wrote:

This patch revert the following commit
commit b7a944fea3a0194d81f6de4d958f3a1d2c6ad03a
Author: Renlin Li <renlin.li@arm.com>
Date:   Fri Oct 2 17:02:53 2015 +0100
I have not looked at this in detail, I'm out of the office at the
moment, but I did notice that this is more than a revert!

Please split this into two patches.

1) The revert request.
2) The new functionality you want to add.

OK. Attachment is a pure revert of related commits:

the following two commits:
===

commit b7a944fea3a0194d81f6de4d958f3a1d2c6ad03a
Author: Renlin Li <renlin.li@arm.com>
Date:   Fri Oct 2 17:02:53 2015 +0100

    [BFD][AARCH64]Create GOT section for TLSLE_MOVW_TPREL_G(1, 1_NC, 2).

commit ac734732481451698ee23990aaa64907e56dd082
Author: Renlin Li <renlin.li@arm.com>
Date:   Fri Oct 2 17:22:36 2015 +0100

    [BFD][AARCH64]Add TLSGD relaxation support under large memory model.


And tls relaxation part of:
===
commit 0484b4549e9e2802e2f9db30a61f4b2a76332a8f
Author: Renlin Li <renlin.li@arm.com>
Date:   Fri Oct 2 17:43:08 2015 +0100

    [LD][AARCH64]Add TLSDESC support for large memory model.

no ld regression on both master and 2.26 branch.

OK to master and 2.26 branch?

2016-01-04  Jiong Wang  <jiong.wang@arm.com>

bfd/
  Revert
  2015-10-02  Renlin Li  <renlin.li@arm.com>

        * elfnn-aarch64.c (aarch64_tls_transition_without_check):  Add
        relax transitions for TLSDESC_ADD, TLSDESC_LDR, TLSDESC_OFF_G0_NC,
        TLSDESC_OFF_G1.
        (aarch64_tls_transition_without_check): Add relaxation support.
        (elfNN_aarch64_tls_relax): Likewise.

2015-10-02  Renlin Li  <renlin.li@arm.com>

        * elfnn-aarch64.c(IS_AARCH64_TLS_RELAX_RELOC):
        Add relaxation support for TLSGD_MOVW_G0_NC and TLSGD_MOVW_G1.
        (aarch64_tls_transition_without_check): Likewise
        (elfNN_aarch64_tls_relax): Likwise.

2015-10-02  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.

ld/testsuite/ld-aarch64/
  Revert
  2015-10-02  Renlin Li  <renlin.li@arm.com>

        * ld-aarch64/aarch64-elf.exp: Run new test.
        * ld-aarch64/tls-relax-large-desc-ie.d: New.
        * ld-aarch64/tls-relax-large-desc-ie.s: New.
        * ld-aarch64/tls-relax-large-desc-le.d: New.
        * ld-aarch64/tls-relax-large-desc-le.s: New.

  2015-10-02  Renlin Li  <renlin.li@arm.com>

        * ld-aarch64/aarch64-elf.exp: run new test
        * ld-aarch64/tls-relax-large-gd-ie.d: New.
        * ld-aarch64/tls-relax-large-gd-ie.s: New.
        * ld-aarch64/tls-relax-large-gd-le.d: New.
        * ld-aarch64/tls-relax-large-gd-le.s: New.

diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 70251f1..5577a96 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -209,22 +209,15 @@
    || IS_AARCH64_TLSDESC_RELOC ((R_TYPE)))
 
 #define IS_AARCH64_TLS_RELAX_RELOC(R_TYPE)			\
-  ((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD		\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC		\
+  ((R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_CALL		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LD_PREL19		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LDNN_LO12_NC	\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LDR			\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC		\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_OFF_G1		\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSDESC_LDR			\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSGD_ADR_PREL21		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC		\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC		\
-   || (R_TYPE) == BFD_RELOC_AARCH64_TLSGD_MOVW_G1		\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19	\
    || (R_TYPE) == BFD_RELOC_AARCH64_TLSIE_LDNN_GOTTPREL_LO12_NC	\
@@ -4437,21 +4430,6 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
 	      ? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
 	      : BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
 
-    case BFD_RELOC_AARCH64_TLSDESC_LDR:
-      return (is_local
-	      ? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC
-	      : BFD_RELOC_AARCH64_NONE);
-
-    case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
-      return (is_local
-	      ? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC
-	      : BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC);
-
-    case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
-      return (is_local
-	      ? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
-	      : BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1);
-
     case BFD_RELOC_AARCH64_TLSDESC_LDNN_LO12_NC:
     case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
       return (is_local
@@ -4472,7 +4450,6 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
 	      ? BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12
 	      : BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
 
-    case BFD_RELOC_AARCH64_TLSDESC_ADD:
     case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
     case BFD_RELOC_AARCH64_TLSDESC_CALL:
       /* Instructions with these relocations will become NOPs.  */
@@ -4483,18 +4460,6 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
     case BFD_RELOC_AARCH64_TLSLD_ADR_PREL21:
       return is_local ? BFD_RELOC_AARCH64_NONE : r_type;
 
-#if ARCH_SIZE == 64
-    case BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC:
-      return is_local
-	? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC
-	: BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC;
-
-    case BFD_RELOC_AARCH64_TLSGD_MOVW_G1:
-      return is_local
-	? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2
-	: BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1;
-#endif
-
     default:
       break;
     }
@@ -5749,52 +5714,6 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
 	  return bfd_reloc_continue;
 	}
 
-#if ARCH_SIZE == 64
-    case BFD_RELOC_AARCH64_TLSGD_MOVW_G1:
-      BFD_ASSERT (ELFNN_R_TYPE (rel[1].r_info) == AARCH64_R (TLSGD_MOVW_G0_NC));
-      BFD_ASSERT (rel->r_offset + 12 == rel[2].r_offset);
-      BFD_ASSERT (ELFNN_R_TYPE (rel[2].r_info) == AARCH64_R (CALL26));
-
-      if (is_local)
-	{
-	  /* Large GD->LE relaxation:
-	     movz x0, #:tlsgd_g1:var    => movz x0, #:tprel_g2:var, lsl #32
-	     movk x0, #:tlsgd_g0_nc:var => movk x0, #:tprel_g1_nc:var, lsl #16
-	     add x0, gp, x0             => movk x0, #:tprel_g0_nc:var
-	     bl __tls_get_addr          => mrs x1, tpidr_el0
-	     nop                        => add x0, x0, x1
-	   */
-	  rel[2].r_info = ELFNN_R_INFO (ELFNN_R_SYM (rel->r_info),
-					AARCH64_R (TLSLE_MOVW_TPREL_G0_NC));
-	  rel[2].r_offset = rel->r_offset + 8;
-
-	  bfd_putl32 (0xd2c00000, contents + rel->r_offset + 0);
-	  bfd_putl32 (0xf2a00000, contents + rel->r_offset + 4);
-	  bfd_putl32 (0xf2800000, contents + rel->r_offset + 8);
-	  bfd_putl32 (0xd53bd041, contents + rel->r_offset + 12);
-	  bfd_putl32 (0x8b000020, contents + rel->r_offset + 16);
-	}
-      else
-	{
-	  /* Large GD->IE relaxation:
-	     movz x0, #:tlsgd_g1:var    => movz x0, #:gottprel_g1:var, lsl #16
-	     movk x0, #:tlsgd_g0_nc:var => movk x0, #:gottprel_g0_nc:var
-	     add x0, gp, x0             => ldr x0, [gp, x0]
-	     bl __tls_get_addr          => mrs x1, tpidr_el0
-	     nop                        => add x0, x0, x1
-	   */
-	  rel[2].r_info = ELFNN_R_INFO (STN_UNDEF, R_AARCH64_NONE);
-	  bfd_putl32 (0xd2a80000, contents + rel->r_offset + 0);
-	  bfd_putl32 (0x58000000, contents + rel->r_offset + 8);
-	  bfd_putl32 (0xd53bd041, contents + rel->r_offset + 12);
-	  bfd_putl32 (0x8b000020, contents + rel->r_offset + 16);
-	}
-      return bfd_reloc_continue;
-
-    case BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC:
-      return bfd_reloc_continue;
-#endif
-
     case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19:
       return bfd_reloc_continue;
 
@@ -5860,7 +5779,6 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
 	  return bfd_reloc_continue;
 	}
 
-    case BFD_RELOC_AARCH64_TLSDESC_ADD:
     case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
     case BFD_RELOC_AARCH64_TLSDESC_CALL:
       /* GD->IE/LE relaxation:
@@ -5870,55 +5788,6 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
       bfd_putl32 (INSN_NOP, contents + rel->r_offset);
       return bfd_reloc_ok;
 
-    case BFD_RELOC_AARCH64_TLSDESC_LDR:
-      if (is_local)
-	{
-	  /* GD->LE relaxation:
-	     ldr xd, [gp, xn]   =>   movk x0, #:tprel_g0_nc:var
-	   */
-	  bfd_putl32 (0xf2800000, contents + rel->r_offset);
-	  return bfd_reloc_continue;
-	}
-      else
-	{
-	  /* GD->IE relaxation:
-	     ldr xd, [gp, xn]   =>   ldr x0, [gp, xn]
-	   */
-	  insn = bfd_getl32 (contents + rel->r_offset);
-	  insn &= 0xffffffe0;
-	  bfd_putl32 (insn, contents + rel->r_offset);
-	  return bfd_reloc_ok;
-	}
-
-    case BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC:
-      /* GD->LE relaxation:
-	 movk xd, #:tlsdesc_off_g0_nc:var => movk x0, #:tprel_g1_nc:var, lsl #16
-	 GD->IE relaxation:
-	 movk xd, #:tlsdesc_off_g0_nc:var => movk xd, #:gottprel_g0_nc:var
-      */
-      if (is_local)
-	bfd_putl32 (0xf2a00000, contents + rel->r_offset);
-      return bfd_reloc_continue;
-
-    case BFD_RELOC_AARCH64_TLSDESC_OFF_G1:
-      if (is_local)
-	{
-	  /* GD->LE relaxation:
-	     movz xd, #:tlsdesc_off_g1:var => movz x0, #:tprel_g2:var, lsl #32
-	  */
-	  bfd_putl32 (0xd2c00000, contents + rel->r_offset);
-	  return bfd_reloc_continue;
-	}
-      else
-	{
-	  /*  GD->IE relaxation:
-	      movz xd, #:tlsdesc_off_g1:var => movz xd, #:gottprel_g1:var, lsl #16
-	  */
-	  insn = bfd_getl32 (contents + rel->r_offset);
-	  bfd_putl32 (0xd2a00000 | (insn & 0x1f), contents + rel->r_offset);
-	  return bfd_reloc_continue;
-	}
-
     case BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
       /* IE->LE relaxation:
          adrp xd, :gottprel:var   =>   movz xd, :tprel_g1:var
@@ -7213,9 +7082,6 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
 	case BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC:
 	case BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21:
 	case BFD_RELOC_AARCH64_TLSLD_ADR_PREL21:
-	case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
-	case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
-	case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
 	  {
 	    unsigned got_type;
 	    unsigned old_got_type;
diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
index c5c9ad0..ec1f83d 100644
--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
+++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
@@ -186,14 +186,6 @@ run_dump_test "tls-relax-all"
 run_dump_test "tls-relax-gd-le"
 run_dump_test "tls-relax-gdesc-le"
 run_dump_test "tls-relax-gd-ie"
-run_dump_test "tls-relax-large-gd-ie"
-run_dump_test "tls-relax-large-gd-ie-be"
-run_dump_test "tls-relax-large-gd-le"
-run_dump_test "tls-relax-large-gd-le-be"
-run_dump_test "tls-relax-large-desc-ie"
-run_dump_test "tls-relax-large-desc-ie-be"
-run_dump_test "tls-relax-large-desc-le"
-run_dump_test "tls-relax-large-desc-le-be"
 run_dump_test "tls-relax-gdesc-ie"
 run_dump_test "tls-relax-ie-le"
 run_dump_test "tls-relax-ld-le-small"
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d
deleted file mode 100644
index ea2e59b..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d
+++ /dev/null
@@ -1,19 +0,0 @@
-#source: tls-relax-large-desc-ie.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64-*-*
-#objdump: -dr
-#...
-
-Disassembly of section .text:
-
-0000000000010000 <test>:
-  +10000:	58000101 	ldr	x1, 10020 \<test\+0x20\>
-  +10004:	100000e2 	adr	x2, 10020 \<test\+0x20\>
-  +10008:	8b020032 	add	x18, x1, x2
-  +1000c:	d2a00000 	movz	x0, #0x0, lsl #16
-  +10010:	f2800100 	movk	x0, #0x8
-  +10014:	f8606a40 	ldr	x0, \[x18,x0\]
-  +10018:	d503201f 	nop
-  +1001c:	d503201f 	nop
-  +10020:	00000000 	.word	0x00000000
-  +10024:	0000ffe0 	.word	0x0000ffe0
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d
deleted file mode 100644
index 680fc57..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.d
+++ /dev/null
@@ -1,19 +0,0 @@
-#source: tls-relax-large-desc-ie.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64_be-*-*
-#objdump: -dr
-#...
-
-Disassembly of section .text:
-
-0000000000010000 <test>:
-  +10000:	58000101 	ldr	x1, 10020 \<test\+0x20\>
-  +10004:	100000e2 	adr	x2, 10020 \<test\+0x20\>
-  +10008:	8b020032 	add	x18, x1, x2
-  +1000c:	d2a00000 	movz	x0, #0x0, lsl #16
-  +10010:	f2800100 	movk	x0, #0x8
-  +10014:	f8606a40 	ldr	x0, \[x18,x0\]
-  +10018:	d503201f 	nop
-  +1001c:	d503201f 	nop
-  +10020:	0000ffe0 	.word	0x0000ffe0
-  +10024:	00000000 	.word	0x00000000
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.s b/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.s
deleted file mode 100644
index a4d1e00..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-ie.s
+++ /dev/null
@@ -1,21 +0,0 @@
-	.global var
-	.section	.tdata,"awT",%progbits
-var:
-	.word 2
-
-	.text
-test:
-	ldr x1, .Lgot
-	adr x2, .Lgot
-	add x18, x1, x2
-
-	movz x0, #:tlsdesc_off_g1:var
-	movk x0, #:tlsdesc_off_g0_nc:var
-	.tlsdescldr var
-	ldr x1, [x18, x0]
-	.tlsdescadd var
-	add x0, x18, x0
-	.tlsdesccall var
-	blr x1
-
-.Lgot: .xword _GLOBAL_OFFSET_TABLE_ - .
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d
deleted file mode 100644
index 4b21e30..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le-be.d
+++ /dev/null
@@ -1,19 +0,0 @@
-#source: tls-relax-large-desc-le.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64-*-*
-#objdump: -dr
-#...
-
-Disassembly of section .text:
-
-0000000000010000 <test>:
-  +10000:	58000101 	ldr	x1, 10020 \<test\+0x20\>
-  +10004:	100000e2 	adr	x2, 10020 \<test\+0x20\>
-  +10008:	8b020032 	add	x18, x1, x2
-  +1000c:	d2c00000 	movz	x0, #0x0, lsl #32
-  +10010:	f2a00000 	movk	x0, #0x0, lsl #16
-  +10014:	f2800200 	movk	x0, #0x10
-  +10018:	d503201f 	nop
-  +1001c:	d503201f 	nop
-  +10020:	00000000 	.word	0x00000000
-  +10024:	0000ffe0 	.word	0x0000ffe0
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d
deleted file mode 100644
index 972682c..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.d
+++ /dev/null
@@ -1,19 +0,0 @@
-#source: tls-relax-large-desc-le.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64_be-*-*
-#objdump: -dr
-#...
-
-Disassembly of section .text:
-
-0000000000010000 <test>:
-  +10000:	58000101 	ldr	x1, 10020 \<test\+0x20\>
-  +10004:	100000e2 	adr	x2, 10020 \<test\+0x20\>
-  +10008:	8b020032 	add	x18, x1, x2
-  +1000c:	d2c00000 	movz	x0, #0x0, lsl #32
-  +10010:	f2a00000 	movk	x0, #0x0, lsl #16
-  +10014:	f2800200 	movk	x0, #0x10
-  +10018:	d503201f 	nop
-  +1001c:	d503201f 	nop
-  +10020:	0000ffe0 	.word	0x0000ffe0
-  +10024:	00000000 	.word	0x00000000
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.s b/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.s
deleted file mode 100644
index ff27c4e..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-desc-le.s
+++ /dev/null
@@ -1,20 +0,0 @@
-	.section	.tdata
-var:
-	.word	2
-
-	.text
-test:
-	ldr x1, .Lgot
-	adr x2, .Lgot
-	add x18, x1, x2
-
-	movz x0, #:tlsdesc_off_g1:var
-	movk x0, #:tlsdesc_off_g0_nc:var
-	.tlsdescldr var
-	ldr x1, [x18, x0]
-	.tlsdescadd var
-	add x0, x18, x0
-	.tlsdesccall var
-	blr x1
-
-.Lgot: .xword _GLOBAL_OFFSET_TABLE_ - .
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d
deleted file mode 100644
index c1ee0b0..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie-be.d
+++ /dev/null
@@ -1,17 +0,0 @@
-#source: tls-relax-large-gd-ie.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64-*-*
-#objdump: -dr
-#...
-0000000000010000 <test>:
- +10000:	58000121 	ldr	x1, 10024 <test\+0x24>
- +10004:	10000102 	adr	x2, 10024 <test\+0x24>
- +10008:	8b010041 	add	x1, x2, x1
- +1000c:	d2a00000 	movz	x0, #0x0, lsl #16
- +10010:	f2800100 	movk	x0, #0x8
- +10014:	58000000 	ldr	x0, 10014 <test\+0x14>
- +10018:	d53bd041 	mrs	x1, tpidr_el0
- +1001c:	8b000020 	add	x0, x1, x0
- +10020:	b9400000 	ldr	w0, \[x0\]
- +10024:	00000000 	.word	0x00000000
- +10028:	0000ffdc 	.word	0x0000ffdc
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d
deleted file mode 100644
index 2b398db..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.d
+++ /dev/null
@@ -1,17 +0,0 @@
-#source: tls-relax-large-gd-ie.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64_be-*-*
-#objdump: -dr
-#...
-0000000000010000 <test>:
- +10000:	58000121 	ldr	x1, 10024 <test\+0x24>
- +10004:	10000102 	adr	x2, 10024 <test\+0x24>
- +10008:	8b010041 	add	x1, x2, x1
- +1000c:	d2a00000 	movz	x0, #0x0, lsl #16
- +10010:	f2800100 	movk	x0, #0x8
- +10014:	58000000 	ldr	x0, 10014 <test\+0x14>
- +10018:	d53bd041 	mrs	x1, tpidr_el0
- +1001c:	8b000020 	add	x0, x1, x0
- +10020:	b9400000 	ldr	w0, \[x0\]
- +10024:	0000ffdc 	.word	0x0000ffdc
- +10028:	00000000 	.word	0x00000000
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.s b/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.s
deleted file mode 100644
index 8e0310d..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-ie.s
+++ /dev/null
@@ -1,20 +0,0 @@
-	.global var
-	.section	.tdata,"awT",%progbits
-var:
-	.word	2
-
-	.text
-test:
-	ldr	x1, .Lgot
-	adr	x2, .Lgot
-	add	x1, x2, x1
-
-	movz	x0, #:tlsgd_g1:var
-	movk	x0, #:tlsgd_g0_nc:var
-	add	x0, x1, x0
-	bl	__tls_get_addr
-	nop
-	ldr	w0, [x0]
-
-.Lgot:
-	.dword _GLOBAL_OFFSET_TABLE_ - .
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d
deleted file mode 100644
index a742751..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le-be.d
+++ /dev/null
@@ -1,17 +0,0 @@
-#source: tls-relax-large-gd-le.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64-*-*
-#objdump: -dr
-#...
-0000000000010000 <test>:
- +10000:	58000121 	ldr	x1, 10024 <test\+0x24>
- +10004:	10000102 	adr	x2, 10024 <test\+0x24>
- +10008:	8b010041 	add	x1, x2, x1
- +1000c:	d2c00000 	movz	x0, #0x0, lsl #32
- +10010:	f2a00000 	movk	x0, #0x0, lsl #16
- +10014:	f2800200 	movk	x0, #0x10
- +10018:	d53bd041 	mrs	x1, tpidr_el0
- +1001c:	8b000020 	add	x0, x1, x0
- +10020:	b9400000 	ldr	w0, \[x0\]
- +10024:	00000000 	.word	0x00000000
- +10028:	0000ffdc 	.word	0x0000ffdc
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d
deleted file mode 100644
index 34d47cf..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.d
+++ /dev/null
@@ -1,17 +0,0 @@
-#source: tls-relax-large-gd-le.s
-#ld: -T relocs.ld -e0
-#notarget: aarch64_be-*-*
-#objdump: -dr
-#...
-0000000000010000 <test>:
- +10000:	58000121 	ldr	x1, 10024 <test\+0x24>
- +10004:	10000102 	adr	x2, 10024 <test\+0x24>
- +10008:	8b010041 	add	x1, x2, x1
- +1000c:	d2c00000 	movz	x0, #0x0, lsl #32
- +10010:	f2a00000 	movk	x0, #0x0, lsl #16
- +10014:	f2800200 	movk	x0, #0x10
- +10018:	d53bd041 	mrs	x1, tpidr_el0
- +1001c:	8b000020 	add	x0, x1, x0
- +10020:	b9400000 	ldr	w0, \[x0\]
- +10024:	0000ffdc 	.word	0x0000ffdc
- +10028:	00000000 	.word	0x00000000
diff --git a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.s b/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.s
deleted file mode 100644
index 781f6cc..0000000
--- a/ld/testsuite/ld-aarch64/tls-relax-large-gd-le.s
+++ /dev/null
@@ -1,19 +0,0 @@
-	.section	.tdata
-var:
-	.word	2
-
-	.text
-test:
-	ldr	x1, .Lgot
-	adr	x2, .Lgot
-	add	x1, x2, x1
-
-	movz	x0, #:tlsgd_g1:var
-	movk	x0, #:tlsgd_g0_nc:var
-	add	x0, x1, x0
-	bl	__tls_get_addr
-	nop
-	ldr	w0, [x0]
-
-.Lgot:
-	.dword _GLOBAL_OFFSET_TABLE_ - .

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