diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-06-26 20:33:45 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-06-26 20:33:45 +0000 |
| commit | 4ea16835ba66f2240d050ffcaee44cee6c97cab9 (patch) | |
| tree | d2f3d66f3352a3ec22362de0b7a5c1366fc25df8 /ELF/Arch/Mips.cpp | |
| parent | 15f7a1a3796209b21af2817fdf11ca9932165c70 (diff) | |
Notes
Diffstat (limited to 'ELF/Arch/Mips.cpp')
| -rw-r--r-- | ELF/Arch/Mips.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/ELF/Arch/Mips.cpp b/ELF/Arch/Mips.cpp index 79642df8a885..b8d796f5897a 100644 --- a/ELF/Arch/Mips.cpp +++ b/ELF/Arch/Mips.cpp @@ -9,7 +9,6 @@ #include "Error.h" #include "InputFiles.h" -#include "Memory.h" #include "OutputSections.h" #include "Symbols.h" #include "SyntheticSections.h" @@ -55,6 +54,7 @@ template <class ELFT> MIPS<ELFT>::MIPS() { CopyRel = R_MIPS_COPY; PltRel = R_MIPS_JUMP_SLOT; NeedsThunks = true; + TrapInstr = 0xefefefef; if (ELFT::Is64Bits) { RelativeRel = (R_MIPS_64 << 8) | R_MIPS_REL32; @@ -412,11 +412,12 @@ bool MIPS<ELFT>::usesOnlyLowPageBits(uint32_t Type) const { return Type == R_MIPS_LO16 || Type == R_MIPS_GOT_OFST; } -template <class ELFT> TargetInfo *elf::createMipsTargetInfo() { - return make<MIPS<ELFT>>(); +template <class ELFT> TargetInfo *elf::getMipsTargetInfo() { + static MIPS<ELFT> Target; + return &Target; } -template TargetInfo *elf::createMipsTargetInfo<ELF32LE>(); -template TargetInfo *elf::createMipsTargetInfo<ELF32BE>(); -template TargetInfo *elf::createMipsTargetInfo<ELF64LE>(); -template TargetInfo *elf::createMipsTargetInfo<ELF64BE>(); +template TargetInfo *elf::getMipsTargetInfo<ELF32LE>(); +template TargetInfo *elf::getMipsTargetInfo<ELF32BE>(); +template TargetInfo *elf::getMipsTargetInfo<ELF64LE>(); +template TargetInfo *elf::getMipsTargetInfo<ELF64BE>(); |
