Lines Matching defs:MIPS
1 //===- MIPS.cpp -----------------------------------------------------------===//
24 template <class ELFT> class MIPS final : public TargetInfo {
26 MIPS(Ctx &);
45 template <class ELFT> MIPS<ELFT>::MIPS(Ctx &ctx) : TargetInfo(ctx) {
72 template <class ELFT> uint32_t MIPS<ELFT>::calcEFlags() const {
77 RelExpr MIPS<ELFT>::getRelExpr(RelType type, const Symbol &s,
200 template <class ELFT> RelType MIPS<ELFT>::getDynRel(RelType type) const {
207 void MIPS<ELFT>::writeGotPlt(uint8_t *buf, const Symbol &) const {
259 template <class ELFT> void MIPS<ELFT>::writePltHeader(uint8_t *buf) const {
322 void MIPS<ELFT>::writePlt(uint8_t *buf, const Symbol &sym,
361 bool MIPS<ELFT>::needsThunk(RelExpr expr, RelType type, const InputFile *file,
364 // Any MIPS PIC code function is invoked with its address in register $t9.
385 int64_t MIPS<ELFT>::getImplicitAddend(const uint8_t *buf, RelType type) const {
485 // MIPS N64 ABI packs multiple relocations into the single relocation
523 // Here we need to detect jump/branch from regular MIPS code
572 void MIPS<ELFT>::relocate(uint8_t *loc, const Relocation &rel,
762 template <class ELFT> bool MIPS<ELFT>::usesOnlyLowPageBits(RelType type) const {
788 ctx.target.reset(new MIPS<ELF32LE>(ctx));
792 ctx.target.reset(new MIPS<ELF32BE>(ctx));
796 ctx.target.reset(new MIPS<ELF64LE>(ctx));
800 ctx.target.reset(new MIPS<ELF64BE>(ctx));