* elf64-mips.c (mips_elf64_howto_table_rela): Add support for
authorMaciej W. Rozycki <macro@linux-mips.org>
Thu, 3 Sep 2009 15:21:09 +0000 (15:21 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Thu, 3 Sep 2009 15:21:09 +0000 (15:21 +0000)
R_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing the
respective stubs.

bfd/ChangeLog
bfd/elf64-mips.c

index 7358db8..b796e38 100644 (file)
@@ -1,3 +1,9 @@
+2009-09-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * elf64-mips.c (mips_elf64_howto_table_rela): Add support for
+       R_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing the
+       respective stubs.
+
 2009-09-01  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Declare
index 16654a0..312c976 100644 (file)
@@ -1328,7 +1328,20 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
   /* TLS relocations.  */
   EMPTY_HOWTO (R_MIPS_TLS_DTPMOD32),
   EMPTY_HOWTO (R_MIPS_TLS_DTPREL32),
-  EMPTY_HOWTO (R_MIPS_TLS_DTPMOD64),
+
+  HOWTO (R_MIPS_TLS_DTPMOD64,  /* type */
+        0,                     /* rightshift */
+        4,                     /* size (0 = byte, 1 = short, 2 = long) */
+        64,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_TLS_DTPMOD64", /* name */
+        TRUE,                  /* partial_inplace */
+        MINUS_ONE,             /* src_mask */
+        MINUS_ONE,             /* dst_mask */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_MIPS_TLS_DTPREL64,  /* type */
         0,                     /* rightshift */
@@ -1419,8 +1432,22 @@ static reloc_howto_type mips_elf64_howto_table_rela[] =
         0x0000ffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
 
+  /* TLS IE dynamic relocations.  */
   EMPTY_HOWTO (R_MIPS_TLS_TPREL32),
-  EMPTY_HOWTO (R_MIPS_TLS_TPREL64),
+
+  HOWTO (R_MIPS_TLS_TPREL64,   /* type */
+        0,                     /* rightshift */
+        4,                     /* size (0 = byte, 1 = short, 2 = long) */
+        64,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_dont, /* complain_on_overflow */
+        _bfd_mips_elf_generic_reloc, /* special_function */
+        "R_MIPS_TLS_TPREL64",  /* name */
+        TRUE,                  /* partial_inplace */
+        MINUS_ONE,             /* src_mask */
+        MINUS_ONE,             /* dst_mask */
+        FALSE),                /* pcrel_offset */
 
   /* TLS thread pointer offset.  */
   HOWTO (R_MIPS_TLS_TPREL_HI16,        /* type */