/* No relocation. */
HOWTO (R_MIPS_NONE, /* type */
0, /* rightshift */
- 3, /* size (0 = byte, 1 = short, 2 = long) */
+ 0, /* size */
0, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 16 bit relocation. */
HOWTO (R_MIPS_16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit relocation. */
HOWTO (R_MIPS_32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit symbol relative relocation. */
HOWTO (R_MIPS_REL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 26 bit jump address. */
HOWTO (R_MIPS_26, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of symbol value. */
HOWTO (R_MIPS_HI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of symbol value. */
HOWTO (R_MIPS_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP relative reference. */
HOWTO (R_MIPS_GPREL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to literal section. */
HOWTO (R_MIPS_LITERAL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to global offset table. */
HOWTO (R_MIPS_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
We do the right thing here. */
HOWTO (R_MIPS_PC16, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 16 bit call through global offset table. */
HOWTO (R_MIPS_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit GP relative reference. */
HOWTO (R_MIPS_GPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A 5 bit shift field. */
HOWTO (R_MIPS_SHIFT5, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
5, /* bitsize */
false, /* pc_relative */
6, /* bitpos */
/* A 6 bit shift field. */
HOWTO (R_MIPS_SHIFT6, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
6, /* bitsize */
false, /* pc_relative */
6, /* bitpos */
/* A 64 bit relocation. */
HOWTO (R_MIPS_64, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement in the global offset table. */
HOWTO (R_MIPS_GOT_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement to page pointer in the global offset table. */
HOWTO (R_MIPS_GOT_PAGE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Offset from page pointer in the global offset table. */
HOWTO (R_MIPS_GOT_OFST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_GOT_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_GOT_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 64 bit subtraction. */
HOWTO (R_MIPS_SUB, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_INSERT_A, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_INSERT_B, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_DELETE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_CALL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_CALL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Section displacement. */
HOWTO (R_MIPS_SCN_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_REL16, /* type */
0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
It must be used for multigot GOT's (and only there). */
HOWTO (R_MIPS_RELGOT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
relocation is required for correctness. */
HOWTO (R_MIPS_JALR, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS GD/LD dynamic relocations. */
HOWTO (R_MIPS_TLS_DTPMOD32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_TLS_DTPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS general dynamic variable reference. */
HOWTO (R_MIPS_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic variable reference. */
HOWTO (R_MIPS_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS IE dynamic relocations. */
HOWTO (R_MIPS_TLS_TPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit relocation with no addend. */
HOWTO (R_MIPS_GLOB_DAT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC21_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
21, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC26_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC18_S3, /* type */
3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
18, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC19_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
19, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PCHI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PCLO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* No relocation. */
HOWTO (R_MIPS_NONE, /* type */
0, /* rightshift */
- 0, /* size (0 = byte, 1 = short, 2 = long) */
+ 0, /* size */
0, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 16 bit relocation. */
HOWTO (R_MIPS_16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
"R_MIPS_16", /* name */
false, /* partial_inplace */
0, /* src_mask */
- 0x0000, /* dst_mask */
+ 0x0000ffff, /* dst_mask */
false), /* pcrel_offset */
/* 32 bit relocation. */
HOWTO (R_MIPS_32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit symbol relative relocation. */
HOWTO (R_MIPS_REL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 26 bit jump address. */
HOWTO (R_MIPS_26, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of symbol value. */
HOWTO (R_MIPS_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of symbol value. */
HOWTO (R_MIPS_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP relative reference. */
HOWTO (R_MIPS_GPREL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to literal section. */
HOWTO (R_MIPS_LITERAL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to global offset table. */
HOWTO (R_MIPS_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
We do the right thing here. */
HOWTO (R_MIPS_PC16, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 16 bit call through global offset table. */
HOWTO (R_MIPS_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit GP relative reference. */
HOWTO (R_MIPS_GPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A 5 bit shift field. */
HOWTO (R_MIPS_SHIFT5, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
5, /* bitsize */
false, /* pc_relative */
6, /* bitpos */
/* A 6 bit shift field. */
HOWTO (R_MIPS_SHIFT6, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
6, /* bitsize */
false, /* pc_relative */
6, /* bitpos */
/* 64 bit relocation. */
HOWTO (R_MIPS_64, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement in the global offset table. */
HOWTO (R_MIPS_GOT_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement to page pointer in the global offset table. */
HOWTO (R_MIPS_GOT_PAGE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Offset from page pointer in the global offset table. */
HOWTO (R_MIPS_GOT_OFST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_GOT_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_GOT_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 64 bit subtraction. */
HOWTO (R_MIPS_SUB, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_INSERT_A, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_INSERT_B, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* FIXME: Not handled correctly. */
HOWTO (R_MIPS_DELETE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Get the higher value of a 64 bit addend. */
HOWTO (R_MIPS_HIGHER, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Get the highest value of a 64 bit addend. */
HOWTO (R_MIPS_HIGHEST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_CALL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MIPS_CALL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Section displacement, used by an associated event location section. */
HOWTO (R_MIPS_SCN_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 16 bit relocation. */
HOWTO (R_MIPS_REL16, /* type */
0, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
It must be used for multigot GOT's (and only there). */
HOWTO (R_MIPS_RELGOT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
relocation is required for correctness. */
HOWTO (R_MIPS_JALR, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS GD/LD dynamic relocations. */
HOWTO (R_MIPS_TLS_DTPMOD32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_TLS_DTPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS general dynamic variable reference. */
HOWTO (R_MIPS_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic variable reference. */
HOWTO (R_MIPS_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MIPS_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MIPS_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS IE dynamic relocations. */
HOWTO (R_MIPS_TLS_TPREL32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MIPS_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 32 bit relocation with no addend. */
HOWTO (R_MIPS_GLOB_DAT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC21_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
21, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC26_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC18_S3, /* type */
3, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
18, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PC19_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
19, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PCHI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MIPS_PCLO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* The reloc used for the mips16 jump instruction. */
HOWTO (R_MIPS16_26, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* The reloc used for the mips16 gprel instruction. */
HOWTO (R_MIPS16_GPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A MIPS16 reference to the global offset table. */
HOWTO (R_MIPS16_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A MIPS16 call through the global offset table. */
HOWTO (R_MIPS16_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 high 16 bits of symbol value. */
HOWTO (R_MIPS16_HI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 low 16 bits of symbol value. */
HOWTO (R_MIPS16_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS general dynamic variable reference. */
HOWTO (R_MIPS16_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic variable reference. */
HOWTO (R_MIPS16_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic offset. */
HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic offset. */
HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 16-bit PC-relative branch offset. */
HOWTO (R_MIPS16_PC16_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* The reloc used for the mips16 jump instruction. */
HOWTO (R_MIPS16_26, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* The reloc used for the mips16 gprel instruction. */
HOWTO (R_MIPS16_GPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A MIPS16 reference to the global offset table. */
HOWTO (R_MIPS16_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* A MIPS16 call through the global offset table. */
HOWTO (R_MIPS16_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 high 16 bits of symbol value. */
HOWTO (R_MIPS16_HI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 low 16 bits of symbol value. */
HOWTO (R_MIPS16_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS general dynamic variable reference. */
HOWTO (R_MIPS16_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic variable reference. */
HOWTO (R_MIPS16_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic offset. */
HOWTO (R_MIPS16_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS local dynamic offset. */
HOWTO (R_MIPS16_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 TLS thread pointer offset. */
HOWTO (R_MIPS16_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* MIPS16 16-bit PC-relative branch offset. */
HOWTO (R_MIPS16_PC16_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 26 bit jump address. */
HOWTO (R_MICROMIPS_26_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of symbol value. */
HOWTO (R_MICROMIPS_HI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of symbol value. */
HOWTO (R_MICROMIPS_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP relative reference. */
HOWTO (R_MICROMIPS_GPREL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to literal section. */
HOWTO (R_MICROMIPS_LITERAL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to global offset table. */
HOWTO (R_MICROMIPS_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* This is for microMIPS branches. */
HOWTO (R_MICROMIPS_PC7_S1, /* type */
1, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
7, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC10_S1, /* type */
1, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
10, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC16_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 16 bit call through global offset table. */
HOWTO (R_MICROMIPS_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement in the global offset table. */
HOWTO (R_MICROMIPS_GOT_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement to page pointer in the global offset table. */
HOWTO (R_MICROMIPS_GOT_PAGE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Offset from page pointer in the global offset table. */
HOWTO (R_MICROMIPS_GOT_OFST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_GOT_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_GOT_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 64 bit subtraction. Used in the N32 ABI. */
HOWTO (R_MICROMIPS_SUB, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_CALL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_CALL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Section displacement. */
HOWTO (R_MICROMIPS_SCN_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
relocation is required for correctness. */
HOWTO (R_MICROMIPS_JALR, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
must be zero. This is used for relaxation. */
HOWTO (R_MICROMIPS_HI0_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS general dynamic variable reference. */
HOWTO (R_MICROMIPS_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic variable reference. */
HOWTO (R_MICROMIPS_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP- and PC-relative relocations. */
HOWTO (R_MICROMIPS_GPREL7_S2, /* type */
2, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
7, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC23_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
23, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 26 bit jump address. */
HOWTO (R_MICROMIPS_26_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
26, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of symbol value. */
HOWTO (R_MICROMIPS_HI16, /* type */
16, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of symbol value. */
HOWTO (R_MICROMIPS_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP relative reference. */
HOWTO (R_MICROMIPS_GPREL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to literal section. */
HOWTO (R_MICROMIPS_LITERAL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Reference to global offset table. */
HOWTO (R_MICROMIPS_GOT16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* This is for microMIPS branches. */
HOWTO (R_MICROMIPS_PC7_S1, /* type */
1, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
7, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC10_S1, /* type */
1, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
10, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC16_S1, /* type */
1, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
/* 16 bit call through global offset table. */
HOWTO (R_MICROMIPS_CALL16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement in the global offset table. */
HOWTO (R_MICROMIPS_GOT_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Displacement to page pointer in the global offset table. */
HOWTO (R_MICROMIPS_GOT_PAGE, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Offset from page pointer in the global offset table. */
HOWTO (R_MICROMIPS_GOT_OFST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_GOT_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_GOT_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* 64 bit subtraction. Used in the N32 ABI. */
HOWTO (R_MICROMIPS_SUB, /* type */
0, /* rightshift */
- 4, /* size (0 = byte, 1 = short, 2 = long) */
+ 8, /* size */
64, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Get the higher value of a 64 bit addend. */
HOWTO (R_MICROMIPS_HIGHER, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Get the highest value of a 64 bit addend. */
HOWTO (R_MICROMIPS_HIGHEST, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* High 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_CALL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Low 16 bits of displacement in global offset table. */
HOWTO (R_MICROMIPS_CALL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* Section displacement. */
HOWTO (R_MICROMIPS_SCN_DISP, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
relocation is required for correctness. */
HOWTO (R_MICROMIPS_JALR, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
must be zero. This is used for relaxation. */
HOWTO (R_MICROMIPS_HI0_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS general dynamic variable reference. */
HOWTO (R_MICROMIPS_TLS_GD, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic variable reference. */
HOWTO (R_MICROMIPS_TLS_LDM, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MICROMIPS_TLS_DTPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS local dynamic offset. */
HOWTO (R_MICROMIPS_TLS_DTPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_GOTTPREL, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_TPREL_HI16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* TLS thread pointer offset. */
HOWTO (R_MICROMIPS_TLS_TPREL_LO16, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
/* GP- and PC-relative relocations. */
HOWTO (R_MICROMIPS_GPREL7_S2, /* type */
2, /* rightshift */
- 1, /* size (0 = byte, 1 = short, 2 = long) */
+ 2, /* size */
7, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
HOWTO (R_MICROMIPS_PC23_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
23, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_gnu_vtinherit_howto =
HOWTO (R_MIPS_GNU_VTINHERIT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
0, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_gnu_vtentry_howto =
HOWTO (R_MIPS_GNU_VTENTRY, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
0, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_gnu_rel16_s2 =
HOWTO (R_MIPS_GNU_REL16_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_gnu_rela16_s2 =
HOWTO (R_MIPS_GNU_REL16_S2, /* type */
2, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
16, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_gnu_pcrel32 =
HOWTO (R_MIPS_PC32, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
true, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_jump_slot_howto =
HOWTO (R_MIPS_JUMP_SLOT, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
static reloc_howto_type elf_mips_eh_howto =
HOWTO (R_MIPS_EH, /* type */
0, /* rightshift */
- 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 4, /* size */
32, /* bitsize */
false, /* pc_relative */
0, /* bitpos */
static const struct elf_reloc_map mips_reloc_map[] =
{
{ BFD_RELOC_NONE, R_MIPS_NONE },
- { BFD_RELOC_16, R_MIPS_16 },
+ { BFD_RELOC_MIPS_16, R_MIPS_16 },
+ { BFD_RELOC_16, R_MIPS_REL16 },
{ BFD_RELOC_32, R_MIPS_32 },
/* There is no BFD reloc for R_MIPS_REL32. */
{ BFD_RELOC_CTOR, R_MIPS_32 },
{ BFD_RELOC_MIPS_CALL_HI16, R_MIPS_CALL_HI16 },
{ BFD_RELOC_MIPS_CALL_LO16, R_MIPS_CALL_LO16 },
{ BFD_RELOC_MIPS_SCN_DISP, R_MIPS_SCN_DISP },
- { BFD_RELOC_MIPS_REL16, R_MIPS_REL16 },
/* Use of R_MIPS_ADD_IMMEDIATE and R_MIPS_PJUMP is deprecated. */
{ BFD_RELOC_MIPS_RELGOT, R_MIPS_RELGOT },
{ BFD_RELOC_MIPS_JALR, R_MIPS_JALR },
#define bfd_elf32_bfd_is_target_special_symbol \
_bfd_mips_elf_is_target_special_symbol
#define bfd_elf32_find_nearest_line _bfd_mips_elf_find_nearest_line
+#define bfd_elf32_find_nearest_line_with_alt \
+ _bfd_mips_elf_find_nearest_line_with_alt
#define bfd_elf32_find_inliner_info _bfd_mips_elf_find_inliner_info
#define bfd_elf32_new_section_hook _bfd_mips_elf_new_section_hook
#define bfd_elf32_set_section_contents _bfd_mips_elf_set_section_contents