summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-11-13 14:47:04 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2013-11-13 14:48:42 +0000
commite69ce7595c994bc74218cae0bea52f949f531db0 (patch)
tree54306b9156e242abb323f1aec767f0a2480662b6
parent709f3d6c88a9f7084816d16582d15d92dc155bd6 (diff)
downloadppe42-binutils-e69ce7595c994bc74218cae0bea52f949f531db0.tar.gz
ppe42-binutils-e69ce7595c994bc74218cae0bea52f949f531db0.zip
bfd/
* elfnn-aarch64.c (elfNN_aarch64_howto_table): Use R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD; likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL. include/elf/ * aarch64.h: Define R_AARCH64_TLS_DTPMOD64, R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elfnn-aarch64.c12
-rw-r--r--include/elf/ChangeLog7
-rw-r--r--include/elf/aarch64.h8
4 files changed, 33 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d08d2c339e..22bb0846a4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): Use
+ R_AARCH64_TLS_DTPMOD64 instead of R_AARCH64_TLS_DTPMOD;
+ likewise for R_AARCH64_TLS_DTPREL and R_AARCH64_TLS_TPREL.
+
2013-11-12 Matthew Leach <Matthew.Leach@arm.comm>
* elfxx-aarch64.c (_bfd_aarch64_elf_grok_prstatus): Fix hard-coded
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index d6515c4849..6bc414e6ac 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -1297,7 +1297,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
+#if ARCH_SIZE == 64
+ AARCH64_R_STR (TLS_DTPMOD64), /* name */
+#else
AARCH64_R_STR (TLS_DTPMOD), /* name */
+#endif
FALSE, /* partial_inplace */
0, /* src_mask */
ALL_ONES, /* dst_mask */
@@ -1311,7 +1315,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
+#if ARCH_SIZE == 64
+ AARCH64_R_STR (TLS_DTPREL64), /* name */
+#else
AARCH64_R_STR (TLS_DTPREL), /* name */
+#endif
FALSE, /* partial_inplace */
0, /* src_mask */
ALL_ONES, /* dst_mask */
@@ -1325,7 +1333,11 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
+#if ARCH_SIZE == 64
+ AARCH64_R_STR (TLS_TPREL64), /* name */
+#else
AARCH64_R_STR (TLS_TPREL), /* name */
+#endif
FALSE, /* partial_inplace */
0, /* src_mask */
ALL_ONES, /* dst_mask */
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 59f806c5ef..08e8d47c99 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,10 @@
+2013-11-13 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * aarch64.h: Define R_AARCH64_TLS_DTPMOD64,
+ R_AARCH64_TLS_DTPREL64 and R_AARCH64_TLS_TPREL64; guard
+ R_AARCH64_TLS_DTPMOD, R_AARCH64_TLS_DTPREL and
+ R_AARCH64_TLS_TPREL with RELOC_MACROS_GEN_FUNC.
+
2013-09-17 Doug Gilmore <Doug.Gilmore@imgtec.com>
* mips.h (EF_MIPS_FP64): New e_flags bit.
diff --git a/include/elf/aarch64.h b/include/elf/aarch64.h
index 41016038f1..7dbab8ccf9 100644
--- a/include/elf/aarch64.h
+++ b/include/elf/aarch64.h
@@ -316,9 +316,17 @@ RELOC_NUMBER (R_AARCH64_JUMP_SLOT, 1026)
/* Adjust by program base. */
RELOC_NUMBER (R_AARCH64_RELATIVE, 1027)
+RELOC_NUMBER (R_AARCH64_TLS_DTPMOD64, 1028)
+RELOC_NUMBER (R_AARCH64_TLS_DTPREL64, 1029)
+RELOC_NUMBER (R_AARCH64_TLS_TPREL64, 1030)
+/* Aliasing relocs are guarded by RELOC_MACROS_GEN_FUNC
+ so that readelf.c won't generate duplicated case
+ statements. */
+#ifndef RELOC_MACROS_GEN_FUNC
RELOC_NUMBER (R_AARCH64_TLS_DTPMOD, 1028)
RELOC_NUMBER (R_AARCH64_TLS_DTPREL, 1029)
RELOC_NUMBER (R_AARCH64_TLS_TPREL, 1030)
+#endif
RELOC_NUMBER (R_AARCH64_TLSDESC, 1031)
RELOC_NUMBER (R_AARCH64_IRELATIVE, 1032)
OpenPOWER on IntegriCloud