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]

RFA: Import patch for PR 18481 to 2.25 branch


Hi Tristan,

Do you have any objections to my importing the patch for PR 18481 to the 2.25 branch. (Patch attached for reference).

Also - would it be possible to create a 2.25.1 release some time soon ? We seem to have accumulated a lot of patches on the 2.25 branch and it would be really nice to see them released to our users.

Cheers
  Nick
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 7690251..9fd5720 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1606,7 +1606,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 FALSE,                 /* pc_relative */
 	 0,                     /* bitpos */
 	 complain_overflow_bitfield,/* complain_on_overflow */
-	 bfd_elf_generic_reloc, /* special_function */
+	 NULL, 			/* special_function */
 	 "R_ARM_TLS_LE32",	/* name */
 	 TRUE,			/* partial_inplace */
 	 0xffffffff,		/* src_mask */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 1714ec8..2ab8bbea 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -23247,7 +23247,6 @@ tc_gen_reloc (asection *section, fixS *fixp)
     case BFD_RELOC_ARM_SBREL32:
     case BFD_RELOC_ARM_PREL31:
     case BFD_RELOC_ARM_TARGET2:
-    case BFD_RELOC_ARM_TLS_LE32:
     case BFD_RELOC_ARM_TLS_LDO32:
     case BFD_RELOC_ARM_PCREL_CALL:
     case BFD_RELOC_ARM_PCREL_JUMP:
@@ -23285,6 +23284,7 @@ tc_gen_reloc (asection *section, fixS *fixp)
 
     case BFD_RELOC_ARM_TLS_GOTDESC:
     case BFD_RELOC_ARM_TLS_GD32:
+    case BFD_RELOC_ARM_TLS_LE32:
     case BFD_RELOC_ARM_TLS_IE32:
     case BFD_RELOC_ARM_TLS_LDM32:
       /* BFD will include the symbol's address in the addend.
diff --git a/gas/testsuite/gas/arm/tls.d b/gas/testsuite/gas/arm/tls.d
index 727f8e4..4d7e724 100644
--- a/gas/testsuite/gas/arm/tls.d
+++ b/gas/testsuite/gas/arm/tls.d
@@ -47,3 +47,21 @@ Disassembly of section .text:
 			3c: R_ARM_TLS_LE32	td
   40:	00000017 	.word	0x00000017
 			40: R_ARM_TLS_GOTDESC	te
+0+44 <foo>:
+  44:	fffffff4 	.word	0xfffffff4
+			44: R_ARM_TLS_LE32	tbase
+  48:	fffffff8 	.word	0xfffffff8
+			48: R_ARM_TLS_LE32	tbase
+  4c:	fffffffc 	.word	0xfffffffc
+			4c: R_ARM_TLS_LE32	tbase
+  50:	00000000 	.word	0x00000000
+			50: R_ARM_TLS_LE32	tbase
+  54:	00000004 	.word	0x00000004
+			54: R_ARM_TLS_LE32	tbase
+  58:	00000008 	.word	0x00000008
+			58: R_ARM_TLS_LE32	tbase
+  5c:	0000000c 	.word	0x0000000c
+			5c: R_ARM_TLS_LE32	tbase
+  60:	00000000 	.word	0x00000000
+			60: R_ARM_TLS_LE32	tbase
+#pass
diff --git a/gas/testsuite/gas/arm/tls.s b/gas/testsuite/gas/arm/tls.s
index 96a25f5..346ac98 100644
--- a/gas/testsuite/gas/arm/tls.s
+++ b/gas/testsuite/gas/arm/tls.s
@@ -36,3 +36,26 @@ thumb_fn:
 	.word	tc(gottpoff) + (. - 1b - 8)
 	.word	td(tpoff)
 1:	.word	te(tlsdesc) + (. - 2b + 1)
+
+	@ PR 18481
+	.text
+foo:
+	.word tbase(tpoff)-12
+	.word tbase(tpoff)-8
+	.word tbase(tpoff)-4
+	.word tbase(tpoff)+0
+	.word tbase(tpoff)+4
+	.word tbase(tpoff)+8
+	.word tbase(tpoff)+12
+	.word tbase(tpoff)
+
+	.section        .tdata,"awT",%progbits
+tbase = . + 12
+	.word -12
+	.word -8
+	.word -4
+	.word 0
+	.word 4
+	.word 8
+	.word 12
+	.word 0

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