/frameworks/compile/mclinker/lib/Target/AArch64/ |
D | AArch64Relocator.cpp | 34 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc, 151 void AArch64Relocator::scanLocalReloc(Relocation& pReloc, in scanLocalReloc() argument 154 ResolveInfo* rsym = pReloc.symInfo(); in scanLocalReloc() 155 switch (pReloc.type()) { in scanLocalReloc() 166 *pReloc.targetRef().frag(), in scanLocalReloc() 167 pReloc.targetRef().offset(), in scanLocalReloc() 170 getRelRelMap().record(pReloc, reloc); in scanLocalReloc() 182 *pReloc.targetRef().frag(), in scanLocalReloc() 183 pReloc.targetRef().offset(), in scanLocalReloc() 184 pReloc.type(), in scanLocalReloc() [all …]
|
D | AArch64Relocator.h | 98 void scanRelocation(Relocation& pReloc, 106 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; 110 uint32_t getDebugStringOffset(Relocation& pReloc) const; 114 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 117 void scanLocalReloc(Relocation& pReloc, const LDSection& pSection); 119 void scanGlobalReloc(Relocation& pReloc,
|
D | AArch64LongBranchStub.cpp | 81 bool AArch64LongBranchStub::isMyDuty(const Relocation& pReloc, in isMyDuty() argument 84 assert((pReloc.type() == llvm::ELF::R_AARCH64_CALL26) || in isMyDuty() 85 (pReloc.type() == llvm::ELF::R_AARCH64_JUMP26)); in isMyDuty() 86 int64_t dest = pTargetSymValue + pReloc.addend(); in isMyDuty()
|
D | AArch64RelocationHelpers.h | 92 static inline AArch64PLT1& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 95 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 157 static inline AArch64GOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 161 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 179 pParent.getRelRelMap().record(pReloc, rel_entry); in helper_GOT_init()
|
/frameworks/compile/mclinker/lib/Target/ARM/ |
D | ARMRelocator.cpp | 29 static Relocator::DWord getThumbBit(const Relocation& pReloc) { in getThumbBit() argument 33 ((!pReloc.symInfo()->isUndef() || pReloc.symInfo()->isDyn()) && in getThumbBit() 34 (pReloc.symInfo()->type() == ResolveInfo::Function) && in getThumbBit() 35 ((pReloc.symValue() & 0x1) != 0)) in getThumbBit() 81 static ARMGOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 85 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 125 static ARMPLT1& helper_PLT_init(Relocation& pReloc, ARMRelocator& pParent) { in helper_PLT_init() argument 127 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 151 static void helper_DynRel_init(Relocation& pReloc, in helper_DynRel_init() argument 155 ResolveInfo* rsym = pReloc.symInfo(); in helper_DynRel_init() [all …]
|
D | ARMRelocator.h | 89 void scanRelocation(Relocation& pReloc, 97 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; 101 uint32_t getDebugStringOffset(Relocation& pReloc) const; 105 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 108 void scanLocalReloc(Relocation& pReloc, const LDSection& pSection); 110 void scanGlobalReloc(Relocation& pReloc, 114 void checkValidReloc(Relocation& pReloc) const;
|
D | ARMToARMStub.cpp | 61 bool ARMToARMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 67 switch (pReloc.type()) { in isMyDuty() 73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u; in isMyDuty()
|
D | ARMToTHMStub.cpp | 63 bool ARMToTHMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 69 switch (pReloc.type()) { in isMyDuty() 73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u; in isMyDuty()
|
D | THMToTHMStub.cpp | 72 bool THMToTHMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 78 switch (pReloc.type()) { in isMyDuty() 82 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u; in isMyDuty()
|
D | THMToARMStub.cpp | 70 bool THMToARMStub::isMyDuty(const class Relocation& pReloc, in isMyDuty() argument 76 switch (pReloc.type()) { in isMyDuty() 80 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u; in isMyDuty()
|
/frameworks/compile/mclinker/lib/Target/Mips/ |
D | MipsRelocator.cpp | 90 static void helper_PLT_init(MipsRelocationInfo& pReloc, in helper_PLT_init() argument 92 ResolveInfo* rsym = pReloc.parent().symInfo(); in helper_PLT_init() 149 Relocator::Result MipsRelocator::applyRelocation(Relocation& pReloc) { in applyRelocation() argument 153 if (m_CurrentLo16Reloc == NULL && isPostponed(pReloc)) { in applyRelocation() 154 postponeRelocation(pReloc); in applyRelocation() 158 for (MipsRelocationInfo info(pReloc, isRel()); !info.isNone(); in applyRelocation() 171 pReloc.target() &= ~mask; in applyRelocation() 172 pReloc.target() |= info.result() & mask; in applyRelocation() 183 void MipsRelocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 189 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() [all …]
|
D | MipsRelocator.h | 44 void scanRelocation(Relocation& pReloc, 66 Result applyRelocation(Relocation& pReloc); 70 uint32_t getDebugStringOffset(Relocation& pReloc) const; 74 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 84 void postponeRelocation(Relocation& pReloc); 91 bool isGpDisp(const Relocation& pReloc) const; 110 Fragment& getLocalGOTEntry(MipsRelocationInfo& pReloc, 115 Fragment& getGlobalGOTEntry(MipsRelocationInfo& pReloc); 119 Fragment& getTLSGOTEntry(MipsRelocationInfo& pReloc); 122 Address getGOTOffset(MipsRelocationInfo& pReloc); [all …]
|
D | MipsLA25Stub.cpp | 50 bool MipsLA25Stub::isMyDuty(const Relocation& pReloc, in isMyDuty() argument 53 if (llvm::ELF::R_MIPS_26 != pReloc.type()) in isMyDuty() 56 const ResolveInfo* rsym = pReloc.symInfo(); in isMyDuty()
|
/frameworks/compile/mclinker/lib/Target/X86/ |
D | X86Relocator.cpp | 59 static X86_32GOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 63 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 92 static Relocator::Address helper_get_GOT_address(Relocation& pReloc, in helper_get_GOT_address() argument 94 X86_32GOTEntry* got_entry = pParent.getSymGOTMap().lookUp(*pReloc.symInfo()); in helper_get_GOT_address() 99 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 102 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 136 typedef Relocator::Result (*X86_32ApplyFunctionType)(Relocation& pReloc, 160 void X86Relocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 168 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() 179 scanLocalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() [all …]
|
D | X86Relocator.h | 80 void scanRelocation(Relocation& pReloc, 99 virtual void scanLocalReloc(Relocation& pReloc, 104 virtual void scanGlobalReloc(Relocation& pReloc, 149 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; 153 uint32_t getDebugStringOffset(Relocation& pReloc) const; 157 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset); 160 void scanLocalReloc(Relocation& pReloc, 165 void scanGlobalReloc(Relocation& pReloc, 172 void convertTLSIEtoLE(Relocation& pReloc, LDSection& pSection); 214 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const; [all …]
|
/frameworks/compile/mclinker/lib/Target/Hexagon/ |
D | HexagonRelocator.cpp | 55 static HexagonGOTEntry& helper_GOT_init(Relocation& pReloc, in helper_GOT_init() argument 59 ResolveInfo* rsym = pReloc.symInfo(); in helper_GOT_init() 91 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, in helper_PLT_init() argument 94 ResolveInfo* rsym = pReloc.symInfo(); in helper_PLT_init() 127 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc, 195 void HexagonRelocator::scanRelocation(Relocation& pReloc, in scanRelocation() argument 204 ResolveInfo* rsym = pReloc.symInfo(); in scanRelocation() 216 scanLocalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() 218 scanGlobalReloc(pReloc, pLinker, pModule, pSection); in scanRelocation() 223 issueUndefRef(pReloc, pSection, pInput); in scanRelocation() [all …]
|
D | HexagonRelocator.h | 78 void scanRelocation(Relocation& pReloc, 85 void partialScanRelocation(Relocation& pReloc, 110 uint32_t getDebugStringOffset(Relocation& pReloc) const { return 0; } in getDebugStringOffset() argument 114 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) {} in applyDebugStringOffset() argument 129 virtual void scanLocalReloc(Relocation& pReloc, 134 virtual void scanGlobalReloc(Relocation& pReloc,
|
/frameworks/compile/mclinker/lib/LD/ |
D | StubFactory.cpp | 40 Stub* StubFactory::create(Relocation& pReloc, in create() argument 46 Stub* prototype = findPrototype(pReloc, pReloc.place(), pTargetSymValue); in create() 48 const Fragment* frag = pReloc.targetRef().frag(); in create() 59 stub = islands.second->findStub(prototype, pReloc); in create() 64 stub = islands.first->findStub(prototype, pReloc); in create() 70 stub->applyFixup(pReloc, pBuilder, *islands.first); in create() 73 islands.first->addStub(prototype, pReloc, *stub); in create() 109 Stub* StubFactory::findPrototype(const Relocation& pReloc, in findPrototype() argument 114 if ((*it)->isMyDuty(pReloc, pSource, pTargetSymValue)) in findPrototype()
|
D | Relocator.cpp | 31 void Relocator::partialScanRelocation(Relocation& pReloc, in partialScanRelocation() argument 34 if (pReloc.symInfo()->type() == ResolveInfo::Section) { in partialScanRelocation() 35 LDSymbol* input_sym = pReloc.symInfo()->outSymbol(); in partialScanRelocation() 40 pReloc.target() += offset; in partialScanRelocation() 49 pReloc.setSymInfo(sym_info); in partialScanRelocation() 53 void Relocator::issueUndefRef(Relocation& pReloc, in issueUndefRef() argument 56 FragmentRef::Offset undef_sym_pos = pReloc.targetRef().offset(); in issueUndefRef() 61 std::string reloc_sym(pReloc.symInfo()->name()); in issueUndefRef()
|
D | BranchIsland.cpp | 86 Stub* BranchIsland::findStub(const Stub* pPrototype, const Relocation& pReloc) { in findStub() argument 87 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend()); in findStub() 98 const Relocation& pReloc, in addStub() argument 101 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend()); in addStub() 151 bool BranchIsland::addRelocation(Relocation& pReloc) { in addRelocation() argument 152 m_Relocations.push_back(&pReloc); in addRelocation()
|
D | DebugString.cpp | 67 void DebugString::applyOffset(Relocation& pReloc, TargetLDBackend& pBackend) { in applyOffset() argument 69 ResolveInfo* info = pReloc.symInfo(); in applyOffset() 78 uint32_t offset = pBackend.getRelocator()->getDebugStringOffset(pReloc); in applyOffset() 82 pBackend.getRelocator()->applyDebugStringOffset(pReloc, in applyOffset()
|
/frameworks/compile/mclinker/include/mcld/LD/ |
D | Relocator.h | 51 virtual void scanRelocation(Relocation& pReloc, 63 virtual void issueUndefRef(Relocation& pReloc, 89 virtual void partialScanRelocation(Relocation& pReloc, 107 virtual bool mayHaveFunctionPointerAccess(const Relocation& pReloc) const { in mayHaveFunctionPointerAccess() argument 113 virtual uint32_t getDebugStringOffset(Relocation& pReloc) const = 0; 117 virtual void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) = 0;
|
D | StubFactory.h | 36 Stub* create(Relocation& pReloc, 48 Stub* findPrototype(const Relocation& pReloc,
|
D | BranchIsland.h | 91 Stub* findStub(const Stub* pPrototype, const Relocation& pReloc); 94 bool addStub(const Stub* pPrototype, const Relocation& pReloc, Stub& pStub); 99 bool addRelocation(Relocation& pReloc);
|
D | IdenticalCodeFolding.h | 40 FoldingCandidate(LDSection* pCode, LDSection* pReloc, Input* pInput) in FoldingCandidate() argument 41 : sect(pCode), reloc_sect(pReloc), obj(pInput) {} in FoldingCandidate()
|