summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMarcus Shawcroft <marcus.shawcroft@arm.com>2015-02-18 15:36:40 +0000
committerMarcus Shawcroft <marcus.shawcroft@arm.com>2015-02-26 22:59:16 +0000
commit389b8029b69e2a4cdbc3a23d0ee9d5b3c974bd34 (patch)
treee1d26b3add7b4b3bd3e3b7bf0da0ad52c7559fd9 /gas
parentb480a4819bb85f0d8004cc0904e7a2eeb03cb2b7 (diff)
downloadbinutils-gdb-389b8029b69e2a4cdbc3a23d0ee9d5b3c974bd34.tar.gz
[AArch64] Add support for :tlsdesc: and TLSDESC_ADR_PREL21
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-aarch64.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b4eadfb0cee..a769877edab 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,6 +1,13 @@
2015-02-19 Marcus Shawcroft <marcus.shawcroft@arm.com>
* config/tc-aarch64.c (reloc_table_entry): Generate
+ BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
+ (md_apply_fix, aarch64_force_relocation): Handle
+ BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
+
+2015-02-19 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
+ * config/tc-aarch64.c (reloc_table_entry): Generate
BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
(md_apply_fix, aarch64_force_relocation): Handle
BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index bcd6f4fb270..ce56dc3b571 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -2474,7 +2474,7 @@ static struct reloc_table_entry reloc_table[] = {
/* Get to the page containing GOT TLS entry for a symbol */
{"tlsdesc", 0,
- 0, /* adr_type */
+ BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21, /* adr_type */
BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21,
0,
0,
@@ -6708,6 +6708,7 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
+ case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
@@ -6909,6 +6910,7 @@ aarch64_force_relocation (struct fix *fixp)
case BFD_RELOC_AARCH64_LDST8_LO12:
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
+ case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC: