2012-09-26 Jan Kratochvil <jan.kratochvil@redhat.com>
[deliverable/binutils-gdb.git] / bfd / elfn32-mips.c
index 00ec8b0c9b6886d2ef9e9057ad955dc8d2d1401e..81d4cf1aec78fbbb402c546399d72ac4b4bff9e3 100644 (file)
@@ -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,7 +1753,112 @@ static reloc_howto_type elf_mips16_howto_table_rela[] =
         _bfd_mips_elf_lo16_reloc, /* special_function */
         "R_MIPS16_LO16",       /* name */
         FALSE,                 /* partial_inplace */
-        0x0000ffff,            /* src_mask */
+        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 */
+        0,                     /* 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 */
+        0,                     /* 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 */
+        0,                     /* 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 */
+        0,                     /* 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 */
+        0,                     /* 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 */
+        0,                     /* 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 */
+        0,                     /* 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[] =
This page took 0.031871 seconds and 4 git commands to generate.