Lines Matching full:mips16
172 // Note that MIPS16 functions set up $gp using PC-relative instructions,
173 // so they themselves never need $25 to be valid. Only non-MIPS16
296 // Check if R_TYPE is a MIPS16 reloc.
924 // Return whether this is a MIPS16 symbol.
942 // Return whether the symbol needs MIPS16 fn_stub.
947 // Set that the symbol needs MIPS16 fn_stub.
1140 // Return whether the symbol needs a compressed (MIPS16 or microMIPS) PLT
1146 // Set whether the symbol needs a compressed (MIPS16 or microMIPS) PLT entry.
1166 // Return compressed (MIPS16 or microMIPS) PLT entry offset, or -1 if none.
1171 // Set compressed (MIPS16 or microMIPS) PLT entry offset.
1176 // Return whether the symbol has compressed (MIPS16 or microMIPS) PLT entry.
1181 // Return MIPS16 fn stub for a symbol.
1189 // Set MIPS16 fn stub for a symbol.
1194 // Return whether symbol has MIPS16 fn stub.
1199 // Return MIPS16 call stub for a symbol.
1208 // Set MIPS16 call stub for a symbol.
1213 // Return whether symbol has MIPS16 call stub.
1218 // Return MIPS16 call_fp stub for a symbol.
1227 // Set MIPS16 call_fp stub for a symbol.
1232 // Return whether symbol has MIPS16 call_fp stub.
1246 // Whether the symbol needs MIPS16 fn_stub. This is true if this symbol
1292 // Whether the symbol needs a compressed (MIPS16 or microMIPS) PLT entry.
1296 // Compressed (MIPS16 or microMIPS) PLT entry offset, or -1 if none.
1298 // MIPS16 fn stub for a symbol.
1300 // MIPS16 call stub for a symbol.
1302 // MIPS16 call_fp stub for a symbol.
1310 // The mips16 compiler uses a couple of special sections to handle
1313 // Section names that look like .mips16.fn.FNNAME contain stubs that
1322 // Section names that look like .mips16.call.FNNAME contain stubs
1329 // .mips16.call.fp.FNNAME sections are similar, but contain stubs
1344 // TODO(sasa): All mips16 stub sections should be emitted in the .text section.
1522 // Whether a local symbol is MIPS16 symbol. R_SYM is the symbol table
1540 // Get or create MIPS16 stub section.
1557 // Return MIPS16 fn stub section for local symbol R_SYM, or NULL if this
1569 // Record that this object has MIPS16 fn stub for local symbol. This method
1581 // Return MIPS16
1593 // Record that this object has MIPS16 call stub for local symbol. This method
1606 // SYMNDX. This reloc would need to refer to a MIPS16 fn stub, if there
1622 // symbol SYMNDX. Local MIPS16 call or call_fp stubs will only be needed
1681 // Whether a section SHDNX is a MIPS16 stub section. This is only valid
1692 // MIPS16 function rather than to a hard-float stub. This is only valid
1700 // Whether a section SHDNX is a MIPS16 fn stub section. This is only valid
1709 // Whether a section SHDNX is a MIPS16 call stub section. This is only valid
1718 // Whether a section SHDNX is a MIPS16 call_fp stub section. This is only
1727 // Discard MIPS16 stub secions that are not needed.
1770 // Bit vector to tell if a local symbol is a MIPS16 symbol or not.
1778 // Map from section index to the MIPS16 stub for that section. This contains
1783 // would need to refer to a MIPS16 fn stub, if there is one.
1786 // Local symbols that have 16-bit call relocation R_MIPS16_26. Local MIPS16
1791 // Map from local symbol index to the MIPS16 fn stub for that symbol.
1795 // Map from local symbol index to the MIPS16 call stub for that symbol.
1810 // Bit vector to tell if a section is a MIPS16 fn stub section or not.
1814 // Bit vector to tell if a section is a MIPS16 call stub section or not.
1818 // Bit vector to tell if a section is a MIPS16 call_fp stub section or not.
2306 // compressed (MIPS16 or microMIPS) PLT entry is used.
2334 // Return the output address of compressed (MIPS16 or microMIPS) PLT entry.
3223 // If we have a MIPS16 function with a stub, the dynamic symbol
3745 // Whether the entry symbol is mips16 or micromips.
3804 // R_MIPS16_26 is used for the mips16 jal and jalx instructions.
3805 // Most mips16 instructions are 16 bits, but these instructions
3863 // The table below lists the other MIPS16 instruction relocations.
3864 // Each one is calculated in the same way as the non-MIPS16 relocation
3865 // given on the right, but using the extended MIPS16 layout of 16-bit
3889 // Similar to MIPS16, the two 16-bit halves in microMIPS must be swapped
4299 // For MIPS16 ABI code we generate this sequence
5653 // Add +1 to GGA_NONE nonzero MIPS16 and microMIPS entries.
5807 // is a MIPS16 or microMIPS function or not. For global symbols, it is easy
5811 // mark MIPS16 and microMIPS functions. This is not the most efficient way but
5827 // Initialize the mips16 and micromips function bit-vector.
5844 // Loop over the local symbols and mark any MIPS16 or microMIPS local symbols.
5878 // Initialize the mips16 stub section bit-vectors.
5912 this->section_is_mips16_fn_stub_[i] = is_prefix_of(".mips16.fn", name);
5914 is_prefix_of(".mips16.call.", name);
5916 is_prefix_of(".mips16.call.fp.", name);
5926 // Discard MIPS16 stub secions that are not needed.
5939 gold_error(_("no relocation found in mips16 stub section '%s'"),
5984 // If we have a MIPS16 function with a stub, the
6248 // The format of subsequent MIPS16 o32 PLT entries. We use v1 ($3) as a
6251 // We cannot use v0 because MIPS16 call stubs from the CS toolchain expect
6325 // compressed (MIPS16 or microMIPS) PLT entry is used.
6341 // There are no defined MIPS16 or microMIPS PLT entries for n32 or n64,
6344 // If the symbol has a MIPS16 call stub and gets a PLT entry, then
6345 // all MIPS16 calls will go via that stub, and there is no benefit
6346 // to having a MIPS16 entry. And in the case of call_stub a
6362 // because MIPS16 ones are no smaller and are usually slower.
6547 // Write MIPS16 PLT entry.
7229 // If we have a MIPS16 function with a stub, the dynamic symbol must
7845 // Compare ASEs. Forbid linking MIPS16 and microMIPS ASE modules together
7860 m16_mis ? "MIPS16" : "microMIPS",
7861 m16_mis ? "microMIPS" : "MIPS16");
7943 // Add +1 to MIPS16 and microMIPS init_ and _fini symbols so that DT_INIT and
7954 // Check whether the entry symbol is mips16 or micromips. This is needed to
7979 // Check for any mips16 stub sections that we can discard.
8618 // R_MIPS_NONE is used in mips16 stub sections, to define the target of the
8619 // mips16 stub.
8624 // This reloc would need to refer to a MIPS16 hard-float stub, if
8625 // there is one. We ignore MIPS16 stub sections and .pdr section when
8626 // looking for relocs that would need to refer to MIPS16 stubs.
9059 // R_MIPS_NONE is used in mips16 stub sections, to define the target of the
9060 // mips16 stub.
9065 // This reloc would need to refer to a MIPS16 hard-float stub, if
9066 // there is one. We ignore MIPS16 stub sections and .pdr section when
9067 // looking for relocs that would need to refer to MIPS16 stubs.
9616 // MIPS16/microMIPS text labels should be treated as odd.
9627 // If this is a mips16/microMIPS text symbol, add 1 to the value to make
9698 // (a) the relocation is for a MIPS16 JAL;
9700 // (b) the relocation is for a MIPS16 PIC call, and there are no
9701 // non-MIPS16 uses of the GOT slot; or
9703 // (c) the section allows direct references to MIPS16 functions.
9737 // If this is a MIPS16 call with a stub, that is made through the PLT or
9799 // For direct MIPS16 and microMIPS calls make sure the compressed PLT
9818 // Make sure MIPS16 and microMIPS are not used together.
9822 gold_error(_("MIPS16 and microMIPS functions cannot call each other"));