bfd/
authorYufeng Zhang <yufeng.zhang@arm.com>
Wed, 13 Nov 2013 14:47:04 +0000 (14:47 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Wed, 13 Nov 2013 14:47:04 +0000 (14:47 +0000)
* 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.

bfd/ChangeLog
bfd/elfnn-aarch64.c
include/elf/ChangeLog
include/elf/aarch64.h

index fd82ee7..aa4595a 100644 (file)
@@ -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
index 3424ae2..48fa3d2 100644 (file)
@@ -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 */
index 68b1002..dc22619 100644 (file)
@@ -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.
index 4101603..7dbab8c 100644 (file)
@@ -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)