summaryrefslogtreecommitdiff
path: root/bfd/elf64-mips.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2009-09-03 15:21:09 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2009-09-03 15:21:09 +0000
commit81750ae6a22c8b17d3d33733b5a4097b44c0cfaf (patch)
tree59ff44f31d3923f68cd47088e5ecd862c77093c9 /bfd/elf64-mips.c
parentd7299e628db202c39ea1c03023d7cee7ffa477e7 (diff)
downloadbinutils-redhat-81750ae6a22c8b17d3d33733b5a4097b44c0cfaf.tar.gz
* elf64-mips.c (mips_elf64_howto_table_rela): Add support for
R_MIPS_TLS_DTPMOD64 and R_MIPS_TLS_TPREL64, replacing the respective stubs.
Diffstat (limited to 'bfd/elf64-mips.c')
-rw-r--r--bfd/elf64-mips.c31
1 files changed, 29 insertions, 2 deletions
diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c
index 16654a0cf7..312c976db1 100644
--- a/bfd/elf64-mips.c
+++ b/bfd/elf64-mips.c
@@ -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 */