diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2009-09-03 15:21:09 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2009-09-03 15:21:09 +0000 |
commit | fcbc2f09401545b9b5a8fc09d421a90377c6aa79 (patch) | |
tree | 8c0e6e1129fb996826f4fef03390a70e5a8386d2 /bfd | |
parent | a0840211ed96ee66f79657c1167106d5d5aa0c68 (diff) | |
download | gdb-fcbc2f09401545b9b5a8fc09d421a90377c6aa79.zip gdb-fcbc2f09401545b9b5a8fc09d421a90377c6aa79.tar.gz gdb-fcbc2f09401545b9b5a8fc09d421a90377c6aa79.tar.bz2 |
* 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')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf64-mips.c | 31 |
2 files changed, 35 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7358db8..b796e38 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 16654a0..312c976 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 */ |