diff options
Diffstat (limited to 'binutils-2.22/bfd/elfn32-mips.c')
-rw-r--r-- | binutils-2.22/bfd/elfn32-mips.c | 289 |
1 files changed, 254 insertions, 35 deletions
diff --git a/binutils-2.22/bfd/elfn32-mips.c b/binutils-2.22/bfd/elfn32-mips.c index 00ec8b0..6728371 100644 --- a/binutils-2.22/bfd/elfn32-mips.c +++ b/binutils-2.22/bfd/elfn32-mips.c @@ -1302,7 +1302,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPMOD32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1316,7 +1316,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1334,7 +1334,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GD", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1349,7 +1349,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_LDM", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1364,7 +1364,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1379,7 +1379,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1394,7 +1394,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GOTTPREL", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1409,7 +1409,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL32", /* name */ FALSE, /* partial_inplace */ - 0xffffffff, /* src_mask */ + 0, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1426,7 +1426,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1441,7 +1441,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1555,6 +1555,111 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ + + /* MIPS16 TLS general dynamic variable reference. */ + HOWTO (R_MIPS16_TLS_GD, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_GD", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic variable reference. */ + HOWTO (R_MIPS16_TLS_LDM, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_LDM", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic offset. */ + HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_DTPREL_HI16", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic offset. */ + HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_DTPREL_LO16", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_GOTTPREL", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_TPREL_HI16", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_TPREL_LO16", /* name */ + TRUE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ }; static reloc_howto_type elf_mips16_howto_table_rela[] = @@ -1573,7 +1678,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS16_26", /* name */ FALSE, /* partial_inplace */ - 0x3ffffff, /* src_mask */ + 0, /* src_mask */ 0x3ffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1588,7 +1693,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = mips16_gprel_reloc, /* special_function */ "R_MIPS16_GPREL", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1603,7 +1708,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = _bfd_mips_elf_got16_reloc, /* special_function */ "R_MIPS16_GOT16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1618,7 +1723,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS16_CALL16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1633,7 +1738,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_HI16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1648,6 +1753,111 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_LO16", /* name */ FALSE, /* partial_inplace */ + 0, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS general dynamic variable reference. */ + HOWTO (R_MIPS16_TLS_GD, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_GD", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic variable reference. */ + HOWTO (R_MIPS16_TLS_LDM, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_LDM", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic offset. */ + HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_DTPREL_HI16", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS local dynamic offset. */ + HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_DTPREL_LO16", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_GOTTPREL", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_TPREL_HI16", /* name */ + FALSE, /* partial_inplace */ + 0x0000ffff, /* src_mask */ + 0x0000ffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + /* MIPS16 TLS thread pointer offset. */ + HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_signed, /* complain_on_overflow */ + _bfd_mips_elf_generic_reloc, /* special_function */ + "R_MIPS16_TLS_TPREL_LO16", /* name */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1961,7 +2171,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_26_S1", /* name */ FALSE, /* partial_inplace */ - 0x3ffffff, /* src_mask */ + 0, /* src_mask */ 0x3ffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1976,7 +2186,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_HI16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1991,7 +2201,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_LO16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2006,7 +2216,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf32_gprel16_reloc, /* special_function */ "R_MICROMIPS_GPREL16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2021,7 +2231,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf32_gprel16_reloc, /* special_function */ "R_MICROMIPS_LITERAL", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2036,7 +2246,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_got16_reloc, /* special_function */ "R_MICROMIPS_GOT16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2051,7 +2261,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_PC7_S1", /* name */ FALSE, /* partial_inplace */ - 0x0000007f, /* src_mask */ + 0, /* src_mask */ 0x0000007f, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -2065,7 +2275,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_PC10_S1", /* name */ FALSE, /* partial_inplace */ - 0x000003ff, /* src_mask */ + 0, /* src_mask */ 0x000003ff, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -2079,7 +2289,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_PC16_S1", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ TRUE), /* pcrel_offset */ @@ -2094,7 +2304,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_CALL16", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2112,7 +2322,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_GOT_DISP",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2127,7 +2337,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_GOT_PAGE",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2142,7 +2352,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_GOT_OFST",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2157,7 +2367,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_GOT_HI16",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2172,7 +2382,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_GOT_LO16",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2187,7 +2397,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_SUB", /* name */ FALSE, /* partial_inplace */ - MINUS_ONE, /* src_mask */ + 0, /* src_mask */ MINUS_ONE, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2202,7 +2412,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_HIGHER", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2217,7 +2427,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_HIGHEST", /* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2232,7 +2442,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_CALL_HI16",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -2247,7 +2457,7 @@ static reloc_howto_type elf_micromips_howto_table_rela[] = _bfd_mips_elf_generic_reloc, /* special_function */ "R_MICROMIPS_CALL_LO16",/* name */ FALSE, /* partial_inplace */ - 0x0000ffff, /* src_mask */ + 0, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ }; @@ -2724,6 +2934,15 @@ static const struct elf_reloc_map mips16_reloc_map[] = { BFD_RELOC_MIPS16_CALL16, R_MIPS16_CALL16 - R_MIPS16_min }, { BFD_RELOC_MIPS16_HI16_S, R_MIPS16_HI16 - R_MIPS16_min }, { BFD_RELOC_MIPS16_LO16, R_MIPS16_LO16 - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_GD, R_MIPS16_TLS_GD - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_LDM, R_MIPS16_TLS_LDM - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_DTPREL_HI16, + R_MIPS16_TLS_DTPREL_HI16 - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_DTPREL_LO16, + R_MIPS16_TLS_DTPREL_LO16 - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_GOTTPREL, R_MIPS16_TLS_GOTTPREL - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_TPREL_HI16, R_MIPS16_TLS_TPREL_HI16 - R_MIPS16_min }, + { BFD_RELOC_MIPS16_TLS_TPREL_LO16, R_MIPS16_TLS_TPREL_LO16 - R_MIPS16_min } }; static const struct elf_reloc_map micromips_reloc_map[] = |