aboutsummaryrefslogtreecommitdiff
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:47:04 +0000
commitda0781dc5ffa0fdbec8d7fa65b053e3ef5a7997e (patch)
tree0f29b19d98c2a6971d84dc0f88f3f3692f034b70
parente2729ebe257b26c62a0a3c6f5432185df78cffb3 (diff)
downloadgdb-da0781dc5ffa0fdbec8d7fa65b053e3ef5a7997e.zip
gdb-da0781dc5ffa0fdbec8d7fa65b053e3ef5a7997e.tar.gz
gdb-da0781dc5ffa0fdbec8d7fa65b053e3ef5a7997e.tar.bz2
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 fd82ee7..aa4595a 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 3424ae2..48fa3d2 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 68b1002..dc22619 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-10-30 Alan Modra <amodra@gmail.com>
* ppc.h (DT_PPC_TLSOPT): Delete.
diff --git a/include/elf/aarch64.h b/include/elf/aarch64.h
index 4101603..7dbab8c 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)