Searched defs:pReloc (Results 1 - 23 of 23) sorted by relevance

/frameworks/compile/mclinker/include/mcld/LD/
H A DIdenticalCodeFolding.h40 FoldingCandidate(LDSection* pCode, LDSection* pReloc, Input* pInput) argument
41 : sect(pCode), reloc_sect(pReloc), obj(pInput) {}
H A DEhFrame.h92 void setRelocation(const Relocation& pReloc) { m_pReloc = &pReloc; } argument
/frameworks/compile/mclinker/lib/LD/
H A DRelocator.cpp31 void Relocator::partialScanRelocation(Relocation& pReloc, argument
34 if (pReloc.symInfo()->type() == ResolveInfo::Section) {
35 LDSymbol* input_sym = pReloc.symInfo()->outSymbol();
40 pReloc.target() += offset;
49 pReloc.setSymInfo(sym_info);
53 void Relocator::issueUndefRef(Relocation& pReloc, argument
56 FragmentRef::Offset undef_sym_pos = pReloc.targetRef().offset();
61 std::string reloc_sym(pReloc.symInfo()->name());
H A DStubFactory.cpp40 Stub* StubFactory::create(Relocation& pReloc, argument
46 Stub* prototype = findPrototype(pReloc, pReloc.place(), pTargetSymValue);
48 const Fragment* frag = pReloc.targetRef().frag();
59 stub = islands.second->findStub(prototype, pReloc);
64 stub = islands.first->findStub(prototype, pReloc);
70 stub->applyFixup(pReloc, pBuilder, *islands.first);
73 islands.first->addStub(prototype, pReloc, *stub);
109 Stub* StubFactory::findPrototype(const Relocation& pReloc, argument
114 if ((*it)->isMyDuty(pReloc, pSourc
[all...]
H A DBranchIsland.cpp86 Stub* BranchIsland::findStub(const Stub* pPrototype, const Relocation& pReloc) { argument
87 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend());
98 const Relocation& pReloc,
101 Key key(pPrototype, pReloc.symInfo()->outSymbol(), pReloc.addend());
151 bool BranchIsland::addRelocation(Relocation& pReloc) { argument
152 m_Relocations.push_back(&pReloc);
97 addStub(const Stub* pPrototype, const Relocation& pReloc, Stub& pStub) argument
H A DDebugString.cpp67 void DebugString::applyOffset(Relocation& pReloc, TargetLDBackend& pBackend) { argument
69 ResolveInfo* info = pReloc.symInfo();
78 uint32_t offset = pBackend.getRelocator()->getDebugStringOffset(pReloc);
82 pBackend.getRelocator()->applyDebugStringOffset(pReloc,
/frameworks/compile/mclinker/lib/Target/Mips/
H A DMipsLA25Stub.cpp50 bool MipsLA25Stub::isMyDuty(const Relocation& pReloc, argument
53 if (llvm::ELF::R_MIPS_26 != pReloc.type())
56 const ResolveInfo* rsym = pReloc.symInfo();
H A DMipsRelocator.cpp90 static void helper_PLT_init(MipsRelocationInfo& pReloc, argument
92 ResolveInfo* rsym = pReloc.parent().symInfo();
149 Relocator::Result MipsRelocator::applyRelocation(Relocation& pReloc) { argument
153 if (m_CurrentLo16Reloc == NULL && isPostponed(pReloc)) {
154 postponeRelocation(pReloc);
158 for (MipsRelocationInfo info(pReloc, isRel()); !info.isNone();
171 pReloc.target() &= ~mask;
172 pReloc.target() |= info.result() & mask;
183 void MipsRelocator::scanRelocation(Relocation& pReloc, argument
189 ResolveInfo* rsym = pReloc
244 scanLocalReloc(MipsRelocationInfo& pReloc, IRBuilder& pBuilder, const LDSection& pSection) argument
345 scanGlobalReloc(MipsRelocationInfo& pReloc, IRBuilder& pBuilder, const LDSection& pSection) argument
548 postponeRelocation(Relocation& pReloc) argument
598 getLocalGOTEntry(MipsRelocationInfo& pReloc, Relocation::DWord entryValue) argument
626 getGlobalGOTEntry(MipsRelocationInfo& pReloc) argument
653 getTLSGOTEntry(MipsRelocationInfo& pReloc) argument
672 getGOTOffset(MipsRelocationInfo& pReloc) argument
689 getTLSGOTOffset(MipsRelocationInfo& pReloc) argument
694 createDynRel(MipsRelocationInfo& pReloc) argument
742 applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) argument
837 none(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
843 abs32(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
874 rel26(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
897 hi16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
919 lo16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
943 gprel16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
963 got16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
984 gothi16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
996 gotlo16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1005 sub(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1016 call16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1024 gprel32(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1038 abs64(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1069 gotdisp(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1077 gotoff(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1084 jalr(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1090 pc16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1100 pc32(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1110 pc18_s3(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1120 pc19_s2(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1130 pc21_s2(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1140 pc26_s2(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1150 pchi16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1160 pclo16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1173 tlshi16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1194 tlslo16(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1213 tlsgot(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
1219 unsupported(MipsRelocationInfo& pReloc, MipsRelocator& pParent) argument
[all...]
/frameworks/compile/mclinker/lib/Target/ARM/
H A DARMToARMStub.cpp61 bool ARMToARMStub::isMyDuty(const class Relocation& pReloc, argument
67 switch (pReloc.type()) {
73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u;
H A DARMToTHMStub.cpp63 bool ARMToTHMStub::isMyDuty(const class Relocation& pReloc, argument
69 switch (pReloc.type()) {
73 uint64_t dest = pTargetSymValue + pReloc.addend() + 8u;
H A DTHMToARMStub.cpp70 bool THMToARMStub::isMyDuty(const class Relocation& pReloc, argument
76 switch (pReloc.type()) {
80 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u;
H A DTHMToTHMStub.cpp72 bool THMToTHMStub::isMyDuty(const class Relocation& pReloc, argument
78 switch (pReloc.type()) {
82 uint64_t dest = pTargetSymValue + pReloc.addend() + 4u;
H A DARMRelocator.cpp29 static Relocator::DWord getThumbBit(const Relocation& pReloc) { argument
33 ((!pReloc.symInfo()->isUndef() || pReloc.symInfo()->isDyn()) &&
34 (pReloc.symInfo()->type() == ResolveInfo::Function) &&
35 ((pReloc.symValue() & 0x1) != 0))
81 static ARMGOTEntry& helper_GOT_init(Relocation& pReloc, argument
85 ResolveInfo* rsym = pReloc.symInfo();
125 static ARMPLT1& helper_PLT_init(Relocation& pReloc, ARMRelocator& pParent) { argument
127 ResolveInfo* rsym = pReloc.symInfo();
149 // its FragmentRef to pReloc
151 helper_DynRel_init(Relocation& pReloc, Relocator::Type pType, ARMRelocator& pParent) argument
429 scanLocalReloc(Relocation& pReloc, const LDSection& pSection) argument
520 scanGlobalReloc(Relocation& pReloc, IRBuilder& pBuilder, const LDSection& pSection) argument
728 scanRelocation(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection, Input& pInput) argument
772 applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) argument
782 none(Relocation& pReloc, ARMRelocator& pParent) argument
787 abs32(Relocation& pReloc, ARMRelocator& pParent) argument
824 rel32(Relocation& pReloc, ARMRelocator& pParent) argument
848 base_prel(Relocation& pReloc, ARMRelocator& pParent) argument
856 gotoff32(Relocation& pReloc, ARMRelocator& pParent) argument
869 got_brel(Relocation& pReloc, ARMRelocator& pParent) argument
887 got_prel(Relocation& pReloc, ARMRelocator& pParent) argument
906 thm_jump8(Relocation& pReloc, ARMRelocator& pParent) argument
924 thm_jump11(Relocation& pReloc, ARMRelocator& pParent) argument
942 thm_jump19(Relocation& pReloc, ARMRelocator& pParent) argument
987 call(Relocation& pReloc, ARMRelocator& pParent) argument
1040 thm_call(Relocation& pReloc, ARMRelocator& pParent) argument
1109 movw_abs_nc(Relocation& pReloc, ARMRelocator& pParent) argument
1138 movw_prel_nc(Relocation& pReloc, ARMRelocator& pParent) argument
1157 movt_abs(Relocation& pReloc, ARMRelocator& pParent) argument
1183 movt_prel(Relocation& pReloc, ARMRelocator& pParent) argument
1196 thm_movw_abs_nc(Relocation& pReloc, ARMRelocator& pParent) argument
1232 thm_movw_prel_nc(Relocation& pReloc, ARMRelocator& pParent) argument
1257 thm_movw_brel(Relocation& pReloc, ARMRelocator& pParent) argument
1281 thm_movt_abs(Relocation& pReloc, ARMRelocator& pParent) argument
1316 thm_movt_prel(Relocation& pReloc, ARMRelocator& pParent) argument
1337 prel31(Relocation& pReloc, ARMRelocator& pParent) argument
1362 tls(Relocation& pReloc, ARMRelocator& pParent) argument
1366 unsupported(Relocation& pReloc, ARMRelocator& pParent) argument
[all...]
/frameworks/compile/mclinker/lib/Target/Hexagon/
H A DHexagonAbsoluteStub.cpp60 bool HexagonAbsoluteStub::isMyDuty(const class Relocation& pReloc, argument
64 switch (pReloc.type()) {
H A DHexagonRelocator.h78 void scanRelocation(Relocation& pReloc,
85 void partialScanRelocation(Relocation& pReloc,
110 uint32_t getDebugStringOffset(Relocation& pReloc) const { return 0; }
114 void applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) {} argument
129 virtual void scanLocalReloc(Relocation& pReloc,
134 virtual void scanGlobalReloc(Relocation& pReloc,
H A DHexagonRelocator.cpp55 static HexagonGOTEntry& helper_GOT_init(Relocation& pReloc, argument
59 ResolveInfo* rsym = pReloc.symInfo();
91 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, argument
94 ResolveInfo* rsym = pReloc.symInfo();
127 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc,
195 void HexagonRelocator::scanRelocation(Relocation& pReloc, argument
204 ResolveInfo* rsym = pReloc.symInfo();
216 scanLocalReloc(pReloc, pLinker, pModule, pSection);
218 scanGlobalReloc(pReloc, pLinker, pModule, pSection);
223 issueUndefRef(pReloc, pSectio
235 scanLocalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
286 scanGlobalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
475 partialScanRelocation(Relocation& pReloc, Module& pModule) argument
499 none(Relocation& pReloc, HexagonRelocator& pParent) argument
506 applyAbs(Relocation& pReloc) argument
584 applyRel(Relocation& pReloc, int64_t pResult) argument
695 relocAbs(Relocation& pReloc, HexagonRelocator& pParent) argument
735 relocPCREL(Relocation& pReloc, HexagonRelocator& pParent) argument
767 relocGPREL(Relocation& pReloc, HexagonRelocator& pParent) argument
817 relocPLTB22PCREL(Relocation& pReloc, HexagonRelocator& pParent) argument
835 relocGOT(Relocation& pReloc, HexagonRelocator& pParent) argument
913 relocGOTREL(Relocation& pReloc, HexagonRelocator& pParent) argument
964 unsupported(Relocation& pReloc, HexagonRelocator& pParent) argument
[all...]
/frameworks/compile/mclinker/include/mcld/Fragment/
H A DStub.h66 /// isMyDuty - return true when the pReloc is problematic and the stub is able
68 virtual bool isMyDuty(const Relocation& pReloc, argument
/frameworks/compile/mclinker/lib/Target/AArch64/
H A DAArch64LongBranchStub.cpp81 bool AArch64LongBranchStub::isMyDuty(const Relocation& pReloc, argument
84 assert((pReloc.type() == llvm::ELF::R_AARCH64_CALL26) ||
85 (pReloc.type() == llvm::ELF::R_AARCH64_JUMP26));
86 int64_t dest = pTargetSymValue + pReloc.addend();
H A DAArch64RelocationHelpers.h92 static inline AArch64PLT1& helper_PLT_init(Relocation& pReloc, argument
95 ResolveInfo* rsym = pReloc.symInfo();
157 static inline AArch64GOTEntry& helper_GOT_init(Relocation& pReloc, argument
161 ResolveInfo* rsym = pReloc.symInfo();
179 pParent.getRelRelMap().record(pReloc, rel_entry);
H A DAArch64Relocator.cpp34 typedef Relocator::Result (*ApplyFunctionType)(Relocation& pReloc,
151 void AArch64Relocator::scanLocalReloc(Relocation& pReloc, argument
154 ResolveInfo* rsym = pReloc.symInfo();
155 switch (pReloc.type()) {
166 *pReloc.targetRef().frag(),
167 pReloc.targetRef().offset(),
170 getRelRelMap().record(pReloc, reloc);
182 *pReloc.targetRef().frag(),
183 pReloc.targetRef().offset(),
184 pReloc
215 scanGlobalReloc(Relocation& pReloc, IRBuilder& pBuilder, const LDSection& pSection) argument
374 scanRelocation(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection, Input& pInput) argument
441 applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) argument
451 none(Relocation& pReloc, AArch64Relocator& pParent) argument
455 unsupported(Relocation& pReloc, AArch64Relocator& pParent) argument
462 abs(Relocation& pReloc, AArch64Relocator& pParent) argument
508 rel(Relocation& pReloc, AArch64Relocator& pParent) argument
541 add_abs_lo12(Relocation& pReloc, AArch64Relocator& pParent) argument
553 adr_prel_lo21(Relocation& pReloc, AArch64Relocator& pParent) argument
571 adr_prel_pg_hi21(Relocation& pReloc, AArch64Relocator& pParent) argument
591 call(Relocation& pReloc, AArch64Relocator& pParent) argument
620 condbr(Relocation& pReloc, AArch64Relocator& pParent) argument
649 adr_got_page(Relocation& pReloc, AArch64Relocator& pParent) argument
675 ld64_got_lo12(Relocation& pReloc, AArch64Relocator& pParent) argument
705 ldst_abs_lo12(Relocation& pReloc, AArch64Relocator& pParent) argument
[all...]
/frameworks/compile/mclinker/lib/Object/
H A DObjectLinker.cpp954 void ObjectLinker::writeRelocationResult(Relocation& pReloc, uint8_t* pOutput) { argument
957 pReloc.targetRef().frag()->getParent()->getSection().offset() +
958 pReloc.targetRef().getOutputOffset();
965 switch (pReloc.size(*m_LDBackend.getRelocator())) {
967 std::memcpy(target_addr, &pReloc.target(), 1);
971 tmp_data = mcld::bswap16(pReloc.target());
976 tmp_data = mcld::bswap32(pReloc.target());
981 tmp_data = mcld::bswap64(pReloc.target());
989 std::memcpy(target_addr, &pReloc.target(),
990 (pReloc
[all...]
/frameworks/compile/mclinker/lib/Target/X86/
H A DX86Relocator.cpp59 static X86_32GOTEntry& helper_GOT_init(Relocation& pReloc, argument
63 ResolveInfo* rsym = pReloc.symInfo();
92 static Relocator::Address helper_get_GOT_address(Relocation& pReloc, argument
94 X86_32GOTEntry* got_entry = pParent.getSymGOTMap().lookUp(*pReloc.symInfo());
99 static PLTEntryBase& helper_PLT_init(Relocation& pReloc, argument
102 ResolveInfo* rsym = pReloc.symInfo();
136 typedef Relocator::Result (*X86_32ApplyFunctionType)(Relocation& pReloc,
160 void X86Relocator::scanRelocation(Relocation& pReloc, argument
168 ResolveInfo* rsym = pReloc.symInfo();
179 scanLocalReloc(pReloc, pLinke
311 scanLocalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
514 scanGlobalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
780 convertTLSIEtoLE(Relocation& pReloc, LDSection& pSection) argument
845 applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) argument
855 none(Relocation& pReloc, X86_32Relocator& pParent) argument
862 abs(Relocation& pReloc, X86_32Relocator& pParent) argument
899 rel(Relocation& pReloc, X86_32Relocator& pParent) argument
933 gotoff32(Relocation& pReloc, X86_32Relocator& pParent) argument
943 gotpc32(Relocation& pReloc, X86_32Relocator& pParent) argument
952 got32(Relocation& pReloc, X86_32Relocator& pParent) argument
973 plt32(Relocation& pReloc, X86_32Relocator& pParent) argument
987 tls_gd(Relocation& pReloc, X86_32Relocator& pParent) argument
1018 tls_ldm(Relocation& pReloc, X86_32Relocator& pParent) argument
1033 tls_ldo_32(Relocation& pReloc, X86_32Relocator& pParent) argument
1042 tls_ie(Relocation& pReloc, X86_32Relocator& pParent) argument
1062 tls_gotie(Relocation& pReloc, X86_32Relocator& pParent) argument
1083 tls_le(Relocation& pReloc, X86_32Relocator& pParent) argument
1099 unsupported(Relocation& pReloc, X86_32Relocator& pParent) argument
1135 helper_GOT_init(Relocation& pReloc, bool pHasRel, X86_64Relocator& pParent) argument
1170 helper_get_GOT_address(Relocation& pReloc, X86_64Relocator& pParent) argument
1184 helper_PLT_init(Relocation& pReloc, X86_64Relocator& pParent) argument
1289 scanLocalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
1361 scanGlobalReloc(Relocation& pReloc, IRBuilder& pBuilder, Module& pModule, LDSection& pSection) argument
1514 applyDebugStringOffset(Relocation& pReloc, uint32_t pOffset) argument
1523 none(Relocation& pReloc, X86_64Relocator& pParent) argument
1531 abs(Relocation& pReloc, X86_64Relocator& pParent) argument
1577 signed32(Relocation& pReloc, X86_64Relocator& pParent) argument
1607 gotpcrel(Relocation& pReloc, X86_64Relocator& pParent) argument
1632 plt32(Relocation& pReloc, X86_64Relocator& pParent) argument
1648 rel(Relocation& pReloc, X86_64Relocator& pParent) argument
1685 unsupported(Relocation& pReloc, X86_64Relocator& pParent) argument
[all...]
/frameworks/compile/mclinker/lib/Target/
H A DGNULDBackend.cpp2803 bool GNULDBackend::symbolNeedsCopyReloc(const Relocation& pReloc, argument
2817 uint32_t flag = pReloc.targetRef().frag()->getParent()->getSection().flag();

Completed in 367 milliseconds