void MipsELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat) { if (pFormat.hasGOT()) applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOT().addr()); applyOne(llvm::ELF::DT_MIPS_RLD_VERSION, 1); applyOne(llvm::ELF::DT_MIPS_FLAGS, llvm::ELF::RHF_NOTPOT); applyOne(llvm::ELF::DT_MIPS_BASE_ADDRESS, getBaseAddress()); applyOne(llvm::ELF::DT_MIPS_LOCAL_GOTNO, getLocalGotNum(pFormat)); applyOne(llvm::ELF::DT_MIPS_SYMTABNO, getSymTabNum(pFormat)); applyOne(llvm::ELF::DT_MIPS_GOTSYM, getGotSym(pFormat)); if (pFormat.hasGOTPLT()) applyOne(llvm::ELF::DT_MIPS_PLTGOT, pFormat.getGOTPLT().addr()); }
void MipsELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat) { if (pFormat.hasGOT()) reserveOne(llvm::ELF::DT_PLTGOT); reserveOne(llvm::ELF::DT_MIPS_RLD_VERSION); reserveOne(llvm::ELF::DT_MIPS_FLAGS); reserveOne(llvm::ELF::DT_MIPS_BASE_ADDRESS); reserveOne(llvm::ELF::DT_MIPS_LOCAL_GOTNO); reserveOne(llvm::ELF::DT_MIPS_SYMTABNO); reserveOne(llvm::ELF::DT_MIPS_GOTSYM); if (pFormat.hasGOTPLT()) reserveOne(llvm::ELF::DT_MIPS_PLTGOT); }
void X86ELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat) { // applyPLTGOT if (pFormat.hasGOTPLT()) applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOTPLT().addr()); }
void X86ELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat) { // reservePLTGOT if (pFormat.hasGOTPLT()) reserveOne(llvm::ELF::DT_PLTGOT); }