#include "InputFiles.h"
#include "SymbolTable.h"
#include "Target.h"
#include "Writer.h"
#include "lld/Common/ErrorHandler.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/Support/MipsABIFlags.h"
usingnamespacellvm;
usingnamespacellvm::object;
usingnamespacellvm::ELF;
usingnamespacelld;
usingnamespacelld::elf;
namespace {
struct ArchTreeEdge { … };
struct FileFlags { … };
}
static StringRef getAbiName(uint32_t flags) { … }
static StringRef getNanName(bool isNan2008) { … }
static StringRef getFpName(bool isFp64) { … }
static void checkFlags(Ctx &ctx, ArrayRef<FileFlags> files) { … }
static uint32_t getMiscFlags(ArrayRef<FileFlags> files) { … }
static uint32_t getPicFlags(ArrayRef<FileFlags> files) { … }
static ArchTreeEdge archTree[] = …;
static bool isArchMatched(uint32_t newFlags, uint32_t res) { … }
static StringRef getMachName(uint32_t flags) { … }
static StringRef getArchName(uint32_t flags) { … }
static std::string getFullArchName(uint32_t flags) { … }
static uint32_t getArchFlags(ArrayRef<FileFlags> files) { … }
template <class ELFT> uint32_t elf::calcMipsEFlags(Ctx &ctx) { … }
static int compareMipsFpAbi(uint8_t fpA, uint8_t fpB) { … }
static StringRef getMipsFpAbiName(uint8_t fpAbi) { … }
uint8_t elf::getMipsFpAbiFlag(uint8_t oldFlag, uint8_t newFlag,
StringRef fileName) { … }
template <class ELFT> static bool isN32Abi(const InputFile &f) { … }
bool elf::isMipsN32Abi(Ctx &ctx, const InputFile &f) { … }
bool elf::isMicroMips(Ctx &ctx) { … }
bool elf::isMipsR6(Ctx &ctx) { … }
template uint32_t elf::calcMipsEFlags<ELF32LE>(Ctx &);
template uint32_t elf::calcMipsEFlags<ELF32BE>(Ctx &);
template uint32_t elf::calcMipsEFlags<ELF64LE>(Ctx &);
template uint32_t elf::calcMipsEFlags<ELF64BE>(Ctx &);