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 fd82ee7cfbefdc66229b38f7790e3f18604dcede..aa4595a230716c28c263337bd5b817ca42e4b659 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 3424ae2f8f723fad0982e02fc52ac363dab40caa..48fa3d2974409a0fa9e08e1cf4a6103f9bdf5d02 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 68b100210444f64f191e7062be2f4387ec7e99f2..dc226198f7bbb21a2926cef10743fd3f87853f36 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 41016038f166378e57661ed31a657a941a4855a7..7dbab8ccf976cef16858523c171ec4483f8c9319 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)