Lines Matching refs:Addr
152 uint64_t Addr = getSectionLoadAddress(Idx); in resolveLocalRelocations() local
154 << format("%p", (uintptr_t)Addr) << "\n"); in resolveLocalRelocations()
155 resolveRelocationList(Rel.second, Addr); in resolveLocalRelocations()
301 uint64_t Addr = 0; in loadObjectImpl() local
303 Addr = *AddrOrErr; in loadObjectImpl()
311 << " Offset: " << format("%p", (uintptr_t)Addr) in loadObjectImpl()
315 SymbolTableEntry(SectionID, Addr, *JITSymFlags); in loadObjectImpl()
753 uint8_t *Addr = MemMgr.allocateDataSection(CommonSize, CommonAlign, SectionID, in emitCommonSymbols() local
755 if (!Addr) in emitCommonSymbols()
759 SectionEntry("<common symbols>", Addr, CommonSize, CommonSize, 0)); in emitCommonSymbols()
760 memset(Addr, 0, CommonSize); in emitCommonSymbols()
763 << " new addr: " << format("%p", Addr) in emitCommonSymbols()
778 offsetToAlignment((uint64_t)Addr, Align(Alignment)); in emitCommonSymbols()
779 Addr += AlignOffset; in emitCommonSymbols()
788 << format("%p", Addr) << "\n"); in emitCommonSymbols()
793 Addr += Size; in emitCommonSymbols()
836 uint8_t *Addr; in emitSection() local
869 Addr = TLSSection.InitializationImage; in emitSection()
872 Addr = MemMgr.allocateCodeSection(Allocate, Alignment, SectionID, Name); in emitSection()
874 Addr = MemMgr.allocateDataSection(Allocate, Alignment, SectionID, Name, in emitSection()
877 if (!Addr) in emitSection()
882 memset(Addr, 0, DataSize); in emitSection()
884 memcpy(Addr, pData, DataSize); in emitSection()
888 memset(Addr + DataSize, 0, PaddingSize); in emitSection()
900 << " new addr: " << format("%p", Addr) << " DataSize: " in emitSection()
908 Addr = nullptr; in emitSection()
917 SectionEntry(Name, Addr, DataSize, Allocate, (uintptr_t)pData)); in emitSection()
974 uint8_t *RuntimeDyldImpl::createStubFunction(uint8_t *Addr, in createStubFunction() argument
982 writeBytesUnaligned(0xd2e00010, Addr, 4); // movz ip0, #:abs_g3:<addr> in createStubFunction()
983 writeBytesUnaligned(0xf2c00010, Addr+4, 4); // movk ip0, #:abs_g2_nc:<addr> in createStubFunction()
984 writeBytesUnaligned(0xf2a00010, Addr+8, 4); // movk ip0, #:abs_g1_nc:<addr> in createStubFunction()
985 writeBytesUnaligned(0xf2800010, Addr+12, 4); // movk ip0, #:abs_g0_nc:<addr> in createStubFunction()
986 writeBytesUnaligned(0xd61f0200, Addr+16, 4); // br ip0 in createStubFunction()
988 return Addr; in createStubFunction()
992 writeBytesUnaligned(0xe51ff004, Addr, 4); // ldr pc, [pc, #-4] in createStubFunction()
993 return Addr + 4; in createStubFunction()
1006 writeBytesUnaligned(LuiT9Instr, Addr, 4); in createStubFunction()
1007 writeBytesUnaligned(AdduiT9Instr, Addr + 4, 4); in createStubFunction()
1008 writeBytesUnaligned(JrT9Instr, Addr + 8, 4); in createStubFunction()
1009 writeBytesUnaligned(NopInstr, Addr + 12, 4); in createStubFunction()
1010 return Addr; in createStubFunction()
1027 writeBytesUnaligned(LuiT9Instr, Addr, 4); in createStubFunction()
1028 writeBytesUnaligned(DaddiuT9Instr, Addr + 4, 4); in createStubFunction()
1029 writeBytesUnaligned(DsllT9Instr, Addr + 8, 4); in createStubFunction()
1030 writeBytesUnaligned(DaddiuT9Instr, Addr + 12, 4); in createStubFunction()
1031 writeBytesUnaligned(DsllT9Instr, Addr + 16, 4); in createStubFunction()
1032 writeBytesUnaligned(DaddiuT9Instr, Addr + 20, 4); in createStubFunction()
1033 writeBytesUnaligned(JrT9Instr, Addr + 24, 4); in createStubFunction()
1034 writeBytesUnaligned(NopInstr, Addr + 28, 4); in createStubFunction()
1035 return Addr; in createStubFunction()
1040 writeInt32BE(Addr, 0x3D800000); // lis r12, highest(addr) in createStubFunction()
1041 writeInt32BE(Addr+4, 0x618C0000); // ori r12, higher(addr) in createStubFunction()
1042 writeInt32BE(Addr+8, 0x798C07C6); // sldi r12, r12, 32 in createStubFunction()
1043 writeInt32BE(Addr+12, 0x658C0000); // oris r12, r12, h(addr) in createStubFunction()
1044 writeInt32BE(Addr+16, 0x618C0000); // ori r12, r12, l(addr) in createStubFunction()
1048 writeInt32BE(Addr+20, 0xF8410018); // std r2, 24(r1) in createStubFunction()
1049 writeInt32BE(Addr+24, 0x7D8903A6); // mtctr r12 in createStubFunction()
1050 writeInt32BE(Addr+28, 0x4E800420); // bctr in createStubFunction()
1055 writeInt32BE(Addr+20, 0xF8410028); // std r2, 40(r1) in createStubFunction()
1056 writeInt32BE(Addr+24, 0xE96C0000); // ld r11, 0(r12) in createStubFunction()
1057 writeInt32BE(Addr+28, 0xE84C0008); // ld r2, 0(r12) in createStubFunction()
1058 writeInt32BE(Addr+32, 0x7D6903A6); // mtctr r11 in createStubFunction()
1059 writeInt32BE(Addr+36, 0xE96C0010); // ld r11, 16(r2) in createStubFunction()
1060 writeInt32BE(Addr+40, 0x4E800420); // bctr in createStubFunction()
1062 return Addr; in createStubFunction()
1064 writeInt16BE(Addr, 0xC418); // lgrl %r1,.+8 in createStubFunction()
1065 writeInt16BE(Addr+2, 0x0000); in createStubFunction()
1066 writeInt16BE(Addr+4, 0x0004); in createStubFunction()
1067 writeInt16BE(Addr+6, 0x07F1); // brc 15,%r1 in createStubFunction()
1069 return Addr; in createStubFunction()
1071 *Addr = 0xFF; // jmp in createStubFunction()
1072 *(Addr+1) = 0x25; // rip in createStubFunction()
1075 *Addr = 0xE9; // 32-bit pc-relative jump. in createStubFunction()
1077 return Addr; in createStubFunction()
1083 uint64_t Addr) { in reassignSectionAddress() argument
1098 << " -> " << format("0x%016" PRIx64, Addr) << "\n"); in reassignSectionAddress()
1099 Sections[SectionID].setLoadAddress(Addr); in reassignSectionAddress()
1125 uint64_t Addr = 0; in applyExternalSymbolRelocations() local
1131 Addr = RRI->second.getAddress(); in applyExternalSymbolRelocations()
1137 Addr = getSectionLoadAddress(SymInfo.getSectionID()) + in applyExternalSymbolRelocations()
1143 if (!Addr && !Resolver.allowsZeroSymbols()) in applyExternalSymbolRelocations()
1149 if (Addr != UINT64_MAX) { in applyExternalSymbolRelocations()
1154 Addr = modifyAddressBasedOnFlags(Addr, Flags); in applyExternalSymbolRelocations()
1157 << format("0x%lx", Addr) << "\n"); in applyExternalSymbolRelocations()
1158 resolveRelocationList(Relocs, Addr); in applyExternalSymbolRelocations()
1403 void RuntimeDyld::reassignSectionAddress(unsigned SectionID, uint64_t Addr) { in reassignSectionAddress() argument
1404 Dyld->reassignSectionAddress(SectionID, Addr); in reassignSectionAddress()